Considering all actions of the form (diff a b) that failed in the last
run of dune, dune promote does the following: If a is present in
the source tree but b isn't, b is copied over to a in the
source tree. The idea behind this is that you might use (diff file.expected
file.generated) and then call dune promote to promote the generated
"Enable instrumentation by BACKENDS. BACKENDS is a
comma-separated list of library names, each one of which must declare an
Run no more than JOBS commands simultaneously.
Do not buffer the output of commands executed by dune. By default dune
buffers the output of subcommands, in order to prevent interleaving when
multiple commands are executed in parallel. However, this can be an issue
when debugging long running tests. With --no-buffer, commands have
direct access to the terminal. Note that as a result their output won't be
captured in the log file. You should use this option in conjunction with
-j 1, to avoid interleaving. Additionally you should use
--verbose as well, to make sure that commands are printed before
they are being executed.
Do not load the configuration file
Suppress "Entering directory" messages
Ignore stanzas referring to a package that is not in PACKAGES.
PACKAGES is a comma-separated list of package names. Note that this
has the same effect as deleting the relevant stanzas from dune files. It
is mostly meant for releases. During development, it is likely that what
you want instead is to build a particular <package>.install
Shorthand for --release --only-packages PACKAGE. You must use this
option in your <package>.opam files, in order to build only
what's necessary when your project contains multiple packages as well as
getting reproducible builds.
--profile=VAL (absent DUNE_PROFILE env)
Select the build profile, for instance dev or release. The
default is dev.
Promote the generated <package>.install files to the source
Put dune into a reproducible release mode. This is in fact a
shorthand for --root . --ignore-promoted-rules --no-config --profile
release --always-show-command-line --promote-install-files
--default-target @install. You should use this option for release
builds. For instance, you must use this option in your
<package>.opam files. Except if you already use -p, as
-p implies this option.
Use this directory as workspace root instead of guessing it. Note that
this option doesn't change the interpretation of targets given on the
command line. It is only intended for scripts.