1dune-rules(1) Dune Manual dune-rules(1)
2
3
4
6 dune-rules - Dump internal rules.
7
9 dune rules [OPTION]... [TARGET]...
10
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
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
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
199 Use `dune COMMAND --help' for help on a single command.
200
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
236 Check bug reports at https://github.com/ocaml/dune/issues
237
238
239
240Dune n/a dune-rules(1)