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-backtraces
95           Always print exception backtraces.
96
97       --debug-dependency-path
98           In case of error, print the dependency path from the targets on the
99           command line to the rule that failed.
100
101       --debug-findlib
102           Debug the findlib sub-system.
103
104       --default-target=TARGET (absent=@@default)
105           Set the default target that when none is specified to dune build.
106
107       --diff-command=VAL
108           Shell command to use to diff files. Use - to disable printing the
109           diff.
110
111       --disable-promotion (absent DUNE_DISABLE_PROMOTION env)
112           Disable all promotion rules
113
114       --display=MODE
115           Control the display mode of Dune. See dune-config(5) for more
116           details.
117
118       --ignore-promoted-rules
119           Ignore rules with (mode promote), except ones with (only ...). The
120           variable %{ignoring_promoted_rules} in dune files reflects whether
121           this option was passed or not.
122
123       -j JOBS
124           Run no more than JOBS commands simultaneously.
125
126       --no-buffer
127           Do not buffer the output of commands executed by dune. By default
128           dune buffers the output of subcommands, in order to prevent
129           interleaving when multiple commands are executed in parallel.
130           However, this can be an issue when debugging long running tests.
131           With --no-buffer, commands have direct access to the terminal. Note
132           that as a result their output won't be captured in the log file.
133           You should use this option in conjunction with -j 1, to avoid
134           interleaving. Additionally you should use --verbose as well, to
135           make sure that commands are printed before they are being executed.
136
137       --no-config
138           Do not load the configuration file
139
140       --no-print-directory
141           Suppress "Entering directory" messages
142
143       --only-packages=PACKAGES
144           Ignore stanzas referring to a package that is not in PACKAGES.
145           PACKAGES is a comma-separated list of package names. Note that this
146           has the same effect as deleting the relevant stanzas from dune
147           files. It is mostly meant for releases. During development, it is
148           likely that what you want instead is to build a particular
149           <package>.install target.
150
151       -p PACKAGES, --for-release-of-packages=PACKAGES
152           Shorthand for --release --only-packages PACKAGE. You must use this
153           option in your <package>.opam files, in order to build only what's
154           necessary when your project contains multiple packages as well as
155           getting reproducible builds.
156
157       --profile=VAL (absent DUNE_PROFILE env)
158           Select the build profile, for instance dev or release. The default
159           is dev.
160
161       --promote-install-files
162           Promote the generated <package>.install files to the source tree
163
164       --release
165           Put dune into a reproducible release mode. This is in fact a
166           shorthand for --root . --ignore-promoted-rules --no-config
167           --profile release --always-show-command-line
168           --promote-install-files --default-target @install. You should use
169           this option for release builds. For instance, you must use this
170           option in your <package>.opam files. Except if you already use -p,
171           as -p implies this option.
172
173       --root=DIR
174           Use this directory as workspace root instead of guessing it. Note
175           that this option doesn't change the interpretation of targets given
176           on the command line. It is only intended for scripts.
177
178       --store-orig-source-dir (absent DUNE_STORE_ORIG_SOURCE_DIR env)
179           Store original source location in dune-package metadata
180
181       --terminal-persistence=MODE
182            Changes how the log of build results are displayed to the console
183           between rebuilds while in --watch mode.
184
185       --trace-file=FILE
186           Output trace data in catapult format (compatible with
187           chrome://tracing)
188
189       --verbose
190           Same as --display verbose
191
192       --workspace=FILE (absent DUNE_WORKSPACE env)
193           Use this specific workspace file instead of looking it up.
194
195       -x VAL
196           Cross-compile using this toolchain.
197

MORE HELP

199       Use `dune COMMAND --help' for help on a single command.
200

ENVIRONMENT

202       These environment variables affect the execution of rules:
203
204       DUNE_BUILD_DIR
205           Specified build directory. _build if unspecified
206
207       DUNE_CACHE
208           Activate binary cache (either `disabled' or `enabled'). Default is
209           `disabled'.
210
211       DUNE_CACHE_CHECK_PROBABILITY
212           Probability cached rules are rerun to check for reproducibility
213
214       DUNE_CACHE_DUPLICATION
215           Binary cache duplication mode
216
217       DUNE_CACHE_TRANSPORT
218           Binary cache protocol
219
220       DUNE_DISABLE_PROMOTION
221           Disable all promotion rules
222
223       DUNE_PROFILE
224           Build profile. dev if unspecified or release if -p is set.
225
226       DUNE_SANDBOX
227           Sandboxing mode to use by default. (see --sandbox)
228
229       DUNE_STORE_ORIG_SOURCE_DIR
230           Store original source location in dune-package metadata
231
232       DUNE_WORKSPACE
233           Use this specific workspace file instead of looking it up.
234

BUGS

236       Check bug reports at https://github.com/ocaml/dune/issues
237
238
239
240Dune n/a                                                         dune-rules(1)
Impressum