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

NAME

6       dune-printenv - An alias for env.
7

SYNOPSIS

9       dune printenv [OPTION]… [PATH]
10

DESCRIPTION

12       dune printenv is an alias for dune env.
13
14       See dune env --help for details.
15

OPTIONS

17       --action-stderr-on-success=VAL
18           Same as --action-stdout-on-success but for the standard output for
19           error messages. A good default for large mono-repositories is
20           --action-stdout-on-success=swallow
21           --action-stderr-on-success=must-be-empty. This ensures that a
22           successful build has a "clean" empty output.
23
24       --action-stdout-on-success=VAL
25           Specify how to deal with the standard output of actions when they
26           succeed. Possible values are: print to just print it to Dune's
27           output, swallow to completely ignore it and must-be-empty to
28           enforce that the action printed nothing. With must-be-empty, Dune
29           will consider that the action failed if it printed something to its
30           standard output. The default is print.
31
32       --build-info
33           Show build information.
34
35       --display-separate-messages
36           Separate error messages with a blank line.
37
38       --error-reporting=VAL (absent=deterministic)
39           Controls when the build errors are reported. early - report errors
40           as soon as they are discovered. deterministic - report errors at
41           the end of the build in a deterministic order. twice - report each
42           error twice: once as soon as the error is discovered and then again
43           at the end of the build, in a deterministic order.
44
45       -f, --force
46           Force actions associated to aliases to be re-executed even if their
47           dependencies haven't changed.
48
49       --field=FIELD
50           Only print this field. This option can be repeated multiple times
51           to print multiple fields.
52
53       --file-watcher=VAL (absent=automatic)
54           Mechanism to detect changes in the source. Automatic to make dune
55           run an external program to detect changes. Manual to notify dune
56           that files have changed manually."
57
58       --passive-watch-mode
59           Similar to [--watch], but only start a build when instructed
60           externally by an RPC.
61
62       --react-to-insignificant-changes
63           react to insignificant file system changes; this is only useful for
64           benchmarking dune
65
66       --sandbox=VAL (absent DUNE_SANDBOX env)
67           Sandboxing mode to use by default. Some actions require a certain
68           sandboxing mode, so they will ignore this setting. The allowed
69           values are: none, symlink, copy, hardlink.
70
71       -w, --watch
72           Instead of terminating build after completion, wait continuously
73           for file changes.
74
75       --wait-for-filesystem-clock
76           Dune digest file contents for better incrementally. These digests
77           are themselves cached. In some cases, Dune needs to drop some
78           digest cache entries in order for things to be reliable. This
79           option makes Dune wait for the file system clock to advance so that
80           it doesn't need to drop anything. You should probably not care
81           about this option; it is mostly useful for Dune developers to make
82           Dune tests of the digest cache more reproducible.
83

COMMON OPTIONS

85       These options are common to all commands.
86
87       --always-show-command-line
88           Always show the full command lines of programs executed by dune
89
90       --auto-promote
91           Automatically promote files. This is similar to running dune
92           promote after the build.
93
94       --build-dir=FILE (absent DUNE_BUILD_DIR env)
95           Specified build directory. _build if unspecified
96
97       --cache=VAL (absent DUNE_CACHE env)
98           Enable or disable Dune cache (either enabled or disabled). Default
99           is `disabled'.
100
101       --cache-check-probability=VAL (absent DUNE_CACHE_CHECK_PROBABILITY env)
102           Check build reproducibility by re-executing randomly chosen rules
103           and comparing their results with those stored in Dune cache. Note:
104           by increasing the probability of such checks you slow down the
105           build. The default probability is zero, i.e. no rules are checked.
106
107       --cache-storage-mode=VAL (absent DUNE_CACHE_STORAGE_MODE env)
108           Dune cache storage mode (one of auto, hardlink or copy). Default is
109           `auto'.
110
111       --config-file=FILE
112           Load this configuration file instead of the default one.
113
114       --debug-artifact-substitution
115           Print debugging info about artifact substitution
116
117       --debug-backtraces
118           Always print exception backtraces.
119
120       --debug-cache=VAL
121           Show debug messages on cache misses for the given cache layers.
122           Value is a comma-separated list of cache layer names. All available
123           cache layers: shared,workspace-local,fs.
124
125       --debug-dependency-path
126           In case of error, print the dependency path from the targets on the
127           command line to the rule that failed.
128
129       --debug-digests
130           Explain why Dune decides to re-digest some files
131
132       --debug-load-dir
133           Print debugging info about directory loading
134
135       --debug-store-digest-preimage
136           Store digest preimage for all computed digests, so that it's
137           possible to reverse them later, for debugging. The digests are
138           stored in the shared cache (see --cache flag) as values, even if
139           cache is otherwise disabled. This should be used only for
140           debugging, since it's slow and it litters the shared cache.
141
142       --default-target=TARGET (absent=@@default)
143           Set the default target that when none is specified to dune build.
144
145       --diff-command=VAL (absent DUNE_DIFF_COMMAND env)
146           Shell command to use to diff files. Use - to disable printing the
147           diff.
148
149       --disable-promotion (absent DUNE_DISABLE_PROMOTION env)
150           Disable all promotion rules
151
152       --display=MODE
153           Control the display mode of Dune. See dune-config(5) for more
154           details. Valid values for this option are progress, verbose, short,
155           quiet or tui.
156
157       --dump-gc-stats=FILE
158           Dump the garbage collector stats to a file after the build is
159           complete.
160
161       --dump-memo-graph=FILE
162           Dumps the dependency graph to a file after the build is complete
163
164       --dump-memo-graph-format=FORMAT (absent=gexf)
165           File format to be used when dumping dependency graph
166
167       --dump-memo-graph-with-timing
168           With --dump-memo-graph, will re-run each cached node in the Memo
169           graph after building and include the runtime in the output. Since
170           all nodes contain a cached value, this will measure just the
171           runtime of each node
172
173       --help[=FMT] (default=auto)
174           Show this help in format FMT. The value FMT must be one of auto,
175           pager, groff or plain. With auto, the format is pager or plain
176           whenever the TERM env var is dumb or undefined.
177
178       --ignore-promoted-rules
179           Ignore rules with (mode promote), except ones with (only ...). The
180           variable %{ignoring_promoted_rules} in dune files reflects whether
181           this option was passed or not.
182
183       --instrument-with=BACKENDS (absent DUNE_INSTRUMENT_WITH env)
184           "Enable instrumentation by BACKENDS. BACKENDS is a comma-separated
185           list of library names, each one of which must declare an
186           instrumentation backend.
187
188       -j JOBS
189           Run no more than JOBS commands simultaneously.
190
191       --no-buffer
192           Do not buffer the output of commands executed by dune. By default
193           dune buffers the output of subcommands, in order to prevent
194           interleaving when multiple commands are executed in parallel.
195           However, this can be an issue when debugging long running tests.
196           With --no-buffer, commands have direct access to the terminal. Note
197           that as a result their output won't be captured in the log file.
198           You should use this option in conjunction with -j 1, to avoid
199           interleaving. Additionally you should use --verbose as well, to
200           make sure that commands are printed before they are being executed.
201
202       --no-config
203           Do not load the configuration file
204
205       --no-print-directory
206           Suppress "Entering directory" messages
207
208       --only-packages=PACKAGES
209           Ignore stanzas referring to a package that is not in PACKAGES.
210           PACKAGES is a comma-separated list of package names. Note that this
211           has the same effect as deleting the relevant stanzas from dune
212           files. It is mostly meant for releases. During development, it is
213           likely that what you want instead is to build a particular
214           <package>.install target.
215
216       -p PACKAGES, --for-release-of-packages=PACKAGES (required)
217           Shorthand for --release --only-packages PACKAGE. You must use this
218           option in your <package>.opam files, in order to build only what's
219           necessary when your project contains multiple packages as well as
220           getting reproducible builds.
221
222       --print-metrics
223           Print out various performance metrics after every build
224
225       --profile=VAL (absent DUNE_PROFILE env)
226           Select the build profile, for instance dev or release. The default
227           is dev.
228
229       --promote-install-files[=VAL] (default=true)
230           Promote the generated <package>.install files to the source tree
231
232       --release
233           Put dune into a reproducible release mode. This is in fact a
234           shorthand for --root . --ignore-promoted-rules --no-config
235           --profile release --always-show-command-line
236           --promote-install-files --default-target @install
237           --require-dune-project-file. You should use this option for release
238           builds. For instance, you must use this option in your
239           <package>.opam files. Except if you already use -p, as -p implies
240           this option.
241
242       --require-dune-project-file[=VAL] (default=true)
243           Fail if a dune-project file is missing.
244
245       --root=DIR
246           Use this directory as workspace root instead of guessing it. Note
247           that this option doesn't change the interpretation of targets given
248           on the command line. It is only intended for scripts.
249
250       --store-orig-source-dir (absent DUNE_STORE_ORIG_SOURCE_DIR env)
251           Store original source location in dune-package metadata
252
253       --terminal-persistence=MODE
254           Changes how the log of build results are displayed to the console
255           between rebuilds while in --watch mode. Supported modes: preserve,
256           clear-on-rebuild, clear-on-rebuild-and-flush-history.
257
258       --trace-extended
259           Output extended trace data (requires trace-file)
260
261       --trace-file=FILE
262           Output trace data in catapult format (compatible with
263           chrome://tracing)
264
265       --verbose
266           Same as --display verbose
267
268       --version
269           Show version information.
270
271       --watch-exclusions=REGEX
272           Adds a POSIX regular expression that will exclude matching
273           directories from `dune build --watch`. The option
274           --watch-exclusions can be repeated to add multiple exclusions.
275           Semicolons can be also used as a separator. If no exclusions are
276           provided, then a standard set of exclusions is used; however, if
277           one or more --watch-exclusions are used, none of the standard
278           exclusions are used. The standard exclusions are: ^_opam /_opam
279           ^_esy /_esy ^\.#.* /\.#.* ~$ ^#[^#]*#$ /#[^#]*#$ ^4913$ /4913$
280           /.git /.hg :/windows
281
282       --workspace=FILE (absent DUNE_WORKSPACE env)
283           Use this specific workspace file instead of looking it up.
284
285       -x VAL
286           Cross-compile using this toolchain.
287

MORE HELP

289       Use `dune COMMAND --help' for help on a single command.
290

EXIT STATUS

292       printenv exits with the following status:
293
294       0   on success.
295
296       1   if an error happened.
297
298       130 if it was interrupted by a signal.
299

ENVIRONMENT

301       These environment variables affect the execution of printenv:
302
303       DUNE_BUILD_DIR
304           Specified build directory. _build if unspecified
305
306       DUNE_CACHE
307           Enable or disable Dune cache (either enabled or disabled). Default
308           is `disabled'.
309
310       DUNE_CACHE_CHECK_PROBABILITY
311           Check build reproducibility by re-executing randomly chosen rules
312           and comparing their results with those stored in Dune cache. Note:
313           by increasing the probability of such checks you slow down the
314           build. The default probability is zero, i.e. no rules are checked.
315
316       DUNE_CACHE_STORAGE_MODE
317           Dune cache storage mode (one of auto, hardlink or copy). Default is
318           `auto'.
319
320       DUNE_DIFF_COMMAND
321           Shell command to use to diff files. Use - to disable printing the
322           diff.
323
324       DUNE_DISABLE_PROMOTION
325           Disable all promotion rules
326
327       DUNE_INSTRUMENT_WITH
328           "Enable instrumentation by BACKENDS. BACKENDS is a comma-separated
329           list of library names, each one of which must declare an
330           instrumentation backend.
331
332       DUNE_PROFILE
333           Build profile. dev if unspecified or release if -p is set.
334
335       DUNE_SANDBOX
336           Sandboxing mode to use by default. (see --sandbox)
337
338       DUNE_STORE_ORIG_SOURCE_DIR
339           Store original source location in dune-package metadata
340
341       DUNE_WORKSPACE
342           Use this specific workspace file instead of looking it up.
343

BUGS

345       Check bug reports at https://github.com/ocaml/dune/issues
346

SEE ALSO

348       dune(1)
349
350
351
352Dune n/a                                                      DUNE-PRINTENV(1)
Impressum