DUNE-SUBST(1) Dune Manual DUNE-SUBST(1)

dune-subst - Substitute watermarks in source files.

dune subst [--build-info] [OPTION]…

Substitute %%ID%% strings in source files, in a similar fashion to what topkg does in the default configuration.

This command is only meant to be called when a user pins a package to its development version. Especially it replaces %%VERSION%% strings by the version obtained from the vcs. Currently only git is supported and the version is obtained from the output of:

  $ git describe --always --dirty --abbrev=7

dune subst substitutes the variables that topkg substitutes with the default configuration:

- %%NAME%%, the name of the project (from the dune-project file)

- %%VERSION%%, output of git describe --always --dirty --abbrev=7

- %%VERSION_NUM%%, same as %%VERSION%% but with a potential leading 'v' or 'V' dropped

- %%VCS_COMMIT_ID%%, commit hash from the vcs

- %%PKG_MAINTAINER%%, contents of the maintainer: field from the opam file

- %%PKG_AUTHORS%%, contents of the authors: field from the opam file

- %%PKG_HOMEPAGE%%, contents of the homepage: field from the opam file

- %%PKG_ISSUES%%, contents of the issues: field from the opam file

- %%PKG_DOC%%, contents of the doc: field from the opam file

- %%PKG_LICENSE%%, contents of the license: field from the opam file

- %%PKG_REPO%%, contents of the repo: field from the opam file

In order to call dune subst when your package is pinned, add this line to the build: field of your opam file:

  [dune "subst"] {pinned}

Note that this command is meant to be called only from opam files and behaves a bit differently from other dune commands. In particular it doesn't try to detect the root and must be called from the root of the project.

--build-info
Show build information.

These options are common to all commands.

--debug-backtraces
Always print exception backtraces.
--help[=FMT] (default=auto)
Show this help in format FMT. The value FMT must be one of auto, pager, groff or plain. With auto, the format is pager or plain whenever the TERM env var is dumb or undefined.
--version
Show version information.

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

dune subst exits with:

0
on success.
1
if an error happened.
130
if it was interrupted by a signal.

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

dune(1)

Dune n/a