dune-subst(1) | Dune Manual | dune-subst(1) |
dune-subst - Substitute watermarks in source files.
dune subst [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
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
- %%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.
These options are common to all commands.
Use `dune COMMAND --help' for help on a single command.
Check bug reports at https://github.com/ocaml/dune/issues
Dune 2.7.1 |