1DUNE-RULES(1)                     Dune Manual                    DUNE-RULES(1)
2
3
4

NAME

6       dune-rules - Dump internal rules.
7

SYNOPSIS

9       dune rules [OPTION]... [TARGET]...
10

DESCRIPTION

12       Dump Dune internal rules for the given targets. If no targets are
13       given, dump all the internal rules.
14
15       By default the output is a list of S-expressions, one S-expression per
16       rule. Each S-expression is of the form:
17
18         ((deps    (<dependencies>))
19          (targets (<targets>))
20          (context <context-name>)
21          (action  <action>))
22
23       <context-name> is the context is which the action is executed. It is
24       omitted if the action is independent from the context.
25
26       <action> is the action following the same syntax as user actions, as
27       described in the manual.
28

OPTIONS

30       --build-info
31           Show build information.
32
33       -f, --force
34           Force actions associated to aliases to be re-executed even if their
35           dependencies haven't changed.
36
37       --help[=FMT] (default=auto)
38           Show this help in format FMT. The value FMT must be one of `auto',
39           `pager', `groff' or `plain'. With `auto', the format is `pager` or
40           `plain' whenever the TERM env var is `dumb' or undefined.
41
42       -m, --makefile
43           Output the rules in Makefile syntax.
44
45       -o FILE
46           Output to a file instead of stdout.
47
48       -r, --recursive
49           Print all rules needed to build the transitive dependencies of the
50           given targets.
51
52       --sandbox=VAL (absent DUNE_SANDBOX env)
53           Sandboxing mode to use by default. Some actions require a certain
54           sandboxing mode, so they will ignore this setting. The allowed
55           values are: none, symlink, copy.
56
57       --version
58           Show version information.
59
60       -w, --watch
61           Instead of terminating build after completion, wait continuously
62           for file changes.
63

COMMON OPTIONS

65       These options are common to all commands.
66
67       --always-show-command-line
68           Always show the full command lines of programs executed by dune
69
70       --auto-promote
71           Automatically promote files. This is similar to running dune
72           promote after the build.
73
74       --build-dir=FILE (absent DUNE_BUILD_DIR env)
75           Specified build directory. _build if unspecified
76
77       --cache=VAL (absent DUNE_CACHE env)
78           Activate binary cache (either `disabled' or `enabled'). Default is
79           `disabled'.
80
81       --cache-check-probability=VAL (absent=0. or
82       DUNE_CACHE_CHECK_PROBABILITY env)
83           Probability cached rules are rerun to check for reproducibility
84
85       --cache-duplication=VAL (absent DUNE_CACHE_DUPLICATION env)
86           Binary cache duplication mode
87
88       --cache-transport=VAL (absent DUNE_CACHE_TRANSPORT env)
89           Binary cache protocol
90
91       --config-file=FILE
92           Load this configuration file instead of the default one.
93
94       --debug-artifact-substitution
95           Print debugging info about artifact substitution
96
97       --debug-backtraces
98           Always print exception backtraces.
99
100       --debug-dependency-path
101           In case of error, print the dependency path from the targets on the
102           command line to the rule that failed.
103
104       --debug-findlib
105           Debug the findlib sub-system.
106
107       --default-target=TARGET (absent=@@default)
108           Set the default target that when none is specified to dune build.
109
110       --diff-command=VAL
111           Shell command to use to diff files. Use - to disable printing the
112           diff.
113
114       --disable-promotion (absent DUNE_DISABLE_PROMOTION env)
115           Disable all promotion rules
116
117       --display=MODE
118           Control the display mode of Dune. See dune-config(5) for more
119           details.
120
121       --ignore-promoted-rules
122           Ignore rules with (mode promote), except ones with (only ...). The
123           variable %{ignoring_promoted_rules} in dune files reflects whether
124           this option was passed or not.
125
126       --instrument-with=BACKENDS (absent DUNE_INSTRUMENT_WITH env)
127           "Enable instrumentation by BACKENDS. BACKENDS is a comma-separated
128           list of library names, each one of which must declare an
129           instrumentation backend.
130
131       -j JOBS
132           Run no more than JOBS commands simultaneously.
133
134       --no-buffer
135           Do not buffer the output of commands executed by dune. By default
136           dune buffers the output of subcommands, in order to prevent
137           interleaving when multiple commands are executed in parallel.
138           However, this can be an issue when debugging long running tests.
139           With --no-buffer, commands have direct access to the terminal. Note
140           that as a result their output won't be captured in the log file.
141           You should use this option in conjunction with -j 1, to avoid
142           interleaving. Additionally you should use --verbose as well, to
143           make sure that commands are printed before they are being executed.
144
145       --no-config
146           Do not load the configuration file
147
148       --no-print-directory
149           Suppress "Entering directory" messages
150
151       --only-packages=PACKAGES
152           Ignore stanzas referring to a package that is not in PACKAGES.
153           PACKAGES is a comma-separated list of package names. Note that this
154           has the same effect as deleting the relevant stanzas from dune
155           files. It is mostly meant for releases. During development, it is
156           likely that what you want instead is to build a particular
157           <package>.install target.
158
159       -p PACKAGES, --for-release-of-packages=PACKAGES
160           Shorthand for --release --only-packages PACKAGE. You must use this
161           option in your <package>.opam files, in order to build only what's
162           necessary when your project contains multiple packages as well as
163           getting reproducible builds.
164
165       --profile=VAL (absent DUNE_PROFILE env)
166           Select the build profile, for instance dev or release. The default
167           is dev.
168
169       --promote-install-files
170           Promote the generated <package>.install files to the source tree
171
172       --release
173           Put dune into a reproducible release mode. This is in fact a
174           shorthand for --root . --ignore-promoted-rules --no-config
175           --profile release --always-show-command-line
176           --promote-install-files --default-target @install. You should use
177           this option for release builds. For instance, you must use this
178           option in your <package>.opam files. Except if you already use -p,
179           as -p implies this option.
180
181       --root=DIR
182           Use this directory as workspace root instead of guessing it. Note
183           that this option doesn't change the interpretation of targets given
184           on the command line. It is only intended for scripts.
185
186       --store-orig-source-dir (absent DUNE_STORE_ORIG_SOURCE_DIR env)
187           Store original source location in dune-package metadata
188
189       --terminal-persistence=MODE
190           Changes how the log of build results are displayed to the console
191           between rebuilds while in --watch mode. Supported modes: preserve,
192           clear-on-rebuild.
193
194       --trace-file=FILE
195           Output trace data in catapult format (compatible with
196           chrome://tracing)
197
198       --verbose
199           Same as --display verbose
200
201       --workspace=FILE (absent DUNE_WORKSPACE env)
202           Use this specific workspace file instead of looking it up.
203
204       -x VAL
205           Cross-compile using this toolchain.
206

MORE HELP

208       Use `dune COMMAND --help' for help on a single command.
209

ENVIRONMENT

211       These environment variables affect the execution of rules:
212
213       DUNE_BUILD_DIR
214           Specified build directory. _build if unspecified
215
216       DUNE_CACHE
217           Activate binary cache (either `disabled' or `enabled'). Default is
218           `disabled'.
219
220       DUNE_CACHE_CHECK_PROBABILITY
221           Probability cached rules are rerun to check for reproducibility
222
223       DUNE_CACHE_DUPLICATION
224           Binary cache duplication mode
225
226       DUNE_CACHE_TRANSPORT
227           Binary cache protocol
228
229       DUNE_DISABLE_PROMOTION
230           Disable all promotion rules
231
232       DUNE_INSTRUMENT_WITH
233           "Enable instrumentation by BACKENDS. BACKENDS is a comma-separated
234           list of library names, each one of which must declare an
235           instrumentation backend.
236
237       DUNE_PROFILE
238           Build profile. dev if unspecified or release if -p is set.
239
240       DUNE_SANDBOX
241           Sandboxing mode to use by default. (see --sandbox)
242
243       DUNE_STORE_ORIG_SOURCE_DIR
244           Store original source location in dune-package metadata
245
246       DUNE_WORKSPACE
247           Use this specific workspace file instead of looking it up.
248

BUGS

250       Check bug reports at https://github.com/ocaml/dune/issues
251
252
253
254Dune n/a                                                         DUNE-RULES(1)
Impressum