1DUNE-OCAML-MERLIN(1) Dune Manual DUNE-OCAML-MERLIN(1)
2
3
4
6 dune-ocaml-merlin - Start a merlin configuration server
7
9 dune ocaml-merlin [OPTION]…
10
12 dune ocaml-merlin starts a server that can be queried to get .merlin
13 information. It is meant to be used by Merlin itself and does not
14 provide a user-friendly output.
15
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 --dump-config[=VAL] (default=.)
36 Prints the entire content of the merlin configuration for the given
37 folder in a user friendly form. This is for testing and debugging
38 purposes only and should not be considered as a stable output.
39
40 --error-reporting=VAL (absent=deterministic)
41 Controls when the build errors are reported. early - report errors
42 as soon as they are discovered. deterministic - report errors at
43 the end of the build in a deterministic order. twice - report each
44 error twice: once as soon as the error is discovered and then again
45 at the end of the build, in a deterministic order.
46
47 -f, --force
48 Force actions associated to aliases to be re-executed even if their
49 dependencies haven't changed.
50
51 --file-watcher=VAL (absent=automatic)
52 Mechanism to detect changes in the source. Automatic to make dune
53 run an external program to detect changes. Manual to notify dune
54 that files have changed manually."
55
56 --passive-watch-mode
57 Similar to [--watch], but only start a build when instructed
58 externally by an RPC.
59
60 --react-to-insignificant-changes
61 react to insignificant file system changes; this is only useful for
62 benchmarking dune
63
64 --sandbox=VAL (absent DUNE_SANDBOX env)
65 Sandboxing mode to use by default. Some actions require a certain
66 sandboxing mode, so they will ignore this setting. The allowed
67 values are: none, symlink, copy, hardlink.
68
69 -w, --watch
70 Instead of terminating build after completion, wait continuously
71 for file changes.
72
73 --wait-for-filesystem-clock
74 Dune digest file contents for better incrementally. These digests
75 are themselves cached. In some cases, Dune needs to drop some
76 digest cache entries in order for things to be reliable. This
77 option makes Dune wait for the file system clock to advance so that
78 it doesn't need to drop anything. You should probably not care
79 about this option; it is mostly useful for Dune developers to make
80 Dune tests of the digest cache more reproducible.
81
83 These options are common to all commands.
84
85 --always-show-command-line
86 Always show the full command lines of programs executed by dune
87
88 --auto-promote
89 Automatically promote files. This is similar to running dune
90 promote after the build.
91
92 --build-dir=FILE (absent DUNE_BUILD_DIR env)
93 Specified build directory. _build if unspecified
94
95 --cache=VAL (absent DUNE_CACHE env)
96 Enable or disable Dune cache (either enabled or disabled). Default
97 is `disabled'.
98
99 --cache-check-probability=VAL (absent DUNE_CACHE_CHECK_PROBABILITY env)
100 Check build reproducibility by re-executing randomly chosen rules
101 and comparing their results with those stored in Dune cache. Note:
102 by increasing the probability of such checks you slow down the
103 build. The default probability is zero, i.e. no rules are checked.
104
105 --cache-storage-mode=VAL (absent DUNE_CACHE_STORAGE_MODE env)
106 Dune cache storage mode (one of auto, hardlink or copy). Default is
107 `auto'.
108
109 --config-file=FILE
110 Load this configuration file instead of the default one.
111
112 --debug-artifact-substitution
113 Print debugging info about artifact substitution
114
115 --debug-backtraces
116 Always print exception backtraces.
117
118 --debug-cache=VAL
119 Show debug messages on cache misses for the given cache layers.
120 Value is a comma-separated list of cache layer names. All available
121 cache layers: shared,workspace-local,fs.
122
123 --debug-dependency-path
124 In case of error, print the dependency path from the targets on the
125 command line to the rule that failed.
126
127 --debug-digests
128 Explain why Dune decides to re-digest some files
129
130 --debug-findlib
131 Debug the findlib sub-system.
132
133 --debug-load-dir
134 Print debugging info about directory loading
135
136 --debug-store-digest-preimage
137 Store digest preimage for all computed digests, so that it's
138 possible to reverse them later, for debugging. The digests are
139 stored in the shared cache (see --cache flag) as values, even if
140 cache is otherwise disabled. This should be used only for
141 debugging, since it's slow and it litters the shared cache.
142
143 --default-target=TARGET (absent=@@default)
144 Set the default target that when none is specified to dune build.
145
146 --diff-command=VAL (absent DUNE_DIFF_COMMAND env)
147 Shell command to use to diff files. Use - to disable printing the
148 diff.
149
150 --disable-promotion (absent DUNE_DISABLE_PROMOTION env)
151 Disable all promotion rules
152
153 --display=MODE
154 Control the display mode of Dune. See dune-config(5) for more
155 details.
156
157 --dump-memo-graph=FILE
158 Dumps the dependency graph to a file after the build is complete
159
160 --dump-memo-graph-format=FORMAT (absent=gexf)
161 File format to be used when dumping dependency graph
162
163 --dump-memo-graph-with-timing
164 With --dump-memo-graph, will re-run each cached node in the Memo
165 graph after building and include the runtime in the output. Since
166 all nodes contain a cached value, this will measure just the
167 runtime of each node
168
169 --help[=FMT] (default=auto)
170 Show this help in format FMT. The value FMT must be one of auto,
171 pager, groff or plain. With auto, the format is pager or plain
172 whenever the TERM env var is dumb or undefined.
173
174 --ignore-promoted-rules
175 Ignore rules with (mode promote), except ones with (only ...). The
176 variable %{ignoring_promoted_rules} in dune files reflects whether
177 this option was passed or not.
178
179 --instrument-with=BACKENDS (absent DUNE_INSTRUMENT_WITH env)
180 "Enable instrumentation by BACKENDS. BACKENDS is a comma-separated
181 list of library names, each one of which must declare an
182 instrumentation backend.
183
184 -j JOBS
185 Run no more than JOBS commands simultaneously.
186
187 --no-buffer
188 Do not buffer the output of commands executed by dune. By default
189 dune buffers the output of subcommands, in order to prevent
190 interleaving when multiple commands are executed in parallel.
191 However, this can be an issue when debugging long running tests.
192 With --no-buffer, commands have direct access to the terminal. Note
193 that as a result their output won't be captured in the log file.
194 You should use this option in conjunction with -j 1, to avoid
195 interleaving. Additionally you should use --verbose as well, to
196 make sure that commands are printed before they are being executed.
197
198 --no-config
199 Do not load the configuration file
200
201 --no-print-directory
202 Suppress "Entering directory" messages
203
204 --only-packages=PACKAGES
205 Ignore stanzas referring to a package that is not in PACKAGES.
206 PACKAGES is a comma-separated list of package names. Note that this
207 has the same effect as deleting the relevant stanzas from dune
208 files. It is mostly meant for releases. During development, it is
209 likely that what you want instead is to build a particular
210 <package>.install target.
211
212 -p PACKAGES, --for-release-of-packages=PACKAGES (required)
213 Shorthand for --release --only-packages PACKAGE. You must use this
214 option in your <package>.opam files, in order to build only what's
215 necessary when your project contains multiple packages as well as
216 getting reproducible builds.
217
218 --print-metrics
219 Print out various performance metrics after every build
220
221 --profile=VAL (absent DUNE_PROFILE env)
222 Select the build profile, for instance dev or release. The default
223 is dev.
224
225 --promote-install-files[=VAL] (default=true)
226 Promote the generated <package>.install files to the source tree
227
228 --release
229 Put dune into a reproducible release mode. This is in fact a
230 shorthand for --root . --ignore-promoted-rules --no-config
231 --profile release --always-show-command-line
232 --promote-install-files --default-target @install
233 --require-dune-project-file. You should use this option for release
234 builds. For instance, you must use this option in your
235 <package>.opam files. Except if you already use -p, as -p implies
236 this option.
237
238 --require-dune-project-file[=VAL] (default=true)
239 Fail if a dune-project file is missing.
240
241 --root=DIR
242 Use this directory as workspace root instead of guessing it. Note
243 that this option doesn't change the interpretation of targets given
244 on the command line. It is only intended for scripts.
245
246 --store-orig-source-dir (absent DUNE_STORE_ORIG_SOURCE_DIR env)
247 Store original source location in dune-package metadata
248
249 --terminal-persistence=MODE
250 Changes how the log of build results are displayed to the console
251 between rebuilds while in --watch mode. Supported modes: preserve,
252 clear-on-rebuild, clear-on-rebuild-and-flush-history.
253
254 --trace-file=FILE
255 Output trace data in catapult format (compatible with
256 chrome://tracing)
257
258 --verbose
259 Same as --display verbose
260
261 --version
262 Show version information.
263
264 --workspace=FILE (absent DUNE_WORKSPACE env)
265 Use this specific workspace file instead of looking it up.
266
267 -x VAL
268 Cross-compile using this toolchain.
269
271 Use `dune COMMAND --help' for help on a single command.
272
274 ocaml-merlin exits with the following status:
275
276 0 on success.
277
278 123 on indiscriminate errors reported on standard error.
279
280 124 on command line parsing errors.
281
282 125 on unexpected internal errors (bugs).
283
285 These environment variables affect the execution of ocaml-merlin:
286
287 DUNE_BUILD_DIR
288 Specified build directory. _build if unspecified
289
290 DUNE_CACHE
291 Enable or disable Dune cache (either enabled or disabled). Default
292 is `disabled'.
293
294 DUNE_CACHE_CHECK_PROBABILITY
295 Check build reproducibility by re-executing randomly chosen rules
296 and comparing their results with those stored in Dune cache. Note:
297 by increasing the probability of such checks you slow down the
298 build. The default probability is zero, i.e. no rules are checked.
299
300 DUNE_CACHE_STORAGE_MODE
301 Dune cache storage mode (one of auto, hardlink or copy). Default is
302 `auto'.
303
304 DUNE_DIFF_COMMAND
305 Shell command to use to diff files. Use - to disable printing the
306 diff.
307
308 DUNE_DISABLE_PROMOTION
309 Disable all promotion rules
310
311 DUNE_INSTRUMENT_WITH
312 "Enable instrumentation by BACKENDS. BACKENDS is a comma-separated
313 list of library names, each one of which must declare an
314 instrumentation backend.
315
316 DUNE_PROFILE
317 Build profile. dev if unspecified or release if -p is set.
318
319 DUNE_SANDBOX
320 Sandboxing mode to use by default. (see --sandbox)
321
322 DUNE_STORE_ORIG_SOURCE_DIR
323 Store original source location in dune-package metadata
324
325 DUNE_WORKSPACE
326 Use this specific workspace file instead of looking it up.
327
329 Check bug reports at https://github.com/ocaml/dune/issues
330
332 Check bug reports at https://github.com/ocaml/dune/issues
333
335 dune(1)
336
337
338
339Dune n/a DUNE-OCAML-MERLIN(1)