1DUNE-OCAML-MERLIN(1)              Dune Manual             DUNE-OCAML-MERLIN(1)
2
3
4

NAME

6       dune-ocaml-merlin - Start a merlin configuration server
7

SYNOPSIS

9       dune ocaml-merlin [OPTION]…
10

DESCRIPTION

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

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       --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

COMMON OPTIONS

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

MORE HELP

271       Use `dune COMMAND --help' for help on a single command.
272

EXIT STATUS

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

ENVIRONMENT

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

BUGS

329       Check bug reports at https://github.com/ocaml/dune/issues
330

BUGS

332       Check bug reports at https://github.com/ocaml/dune/issues
333

SEE ALSO

335       dune(1)
336
337
338
339Dune n/a                                                  DUNE-OCAML-MERLIN(1)
Impressum