package drom
Install
Dune Dependency
Authors
Maintainers
Sources
md5=abd11ae9727899dbae6ad79639c66204
sha512=3e8e7ad76608e8025ff129b9f2ad1377585da64ee599a28e4a29419d99529e82bb90fbb6d71088ad5393b696e3df8c62b57792da32834c3158f0976c6d1c7883
CHANGES.md.html
v.0.6.0
Generate opam files in opam/ instead of top directory
drom install PACKAGES
where PACKAGES is a limited set of project packagesdrom build
tries to update program files by default, unlessauto-upgrade: false
is set in user configuration:[user] auto-upgrade = false
v.0.5.0
Add --edition and --min-edition to
drom new
anddrom project
Add support for optional dependencies: lib = { opt = true, version = "3.1" }
Add @ before skip tags: skip = [ "@test" ]
drom uninstall: also unpin all project packages
Add support for optional packages: optional = true
Add support for preprocessor preprocess = "pps pgocaml_ppx"
v0.4.0 ( 2021-05-11 )
New [fields] in package.toml:
'gen-opam' to generate the opam file of a virtual package. Possible values are "all" (all sub-packages are dependencies), "some" (you need to specify the dependencies in [dependencies]) or "none" (no opam file is generated, the default).
'no-opam-test = "no"' to disable tests in the opam package
'no-opam-doc = "no"' to disable doc in the opam package
Add 'rust_binding' skeleton
New env variable DROM_VERBOSE_SUBST to debug substitutions
New 'skip = [ "file"...]' in package.toml to skip files in src/PACKAGE/
New subcommand 'list': "drom list" will list all known skeletons. If an argument is provided, it is either "all", or one of "projects" or "packages".
v0.3.0
More skeletons
v0.2.1 ( 2020-11-25 )
Add table
[file]
inskeleton.toml
to specify flags for skeleton files from the outside (useful for binary files for example). Flags can befile
(name of file),create
(create only if non-existing),skips
(list of tags forcing skip),subst
(do not perform substitution)Extend skeleton substitution language with ![if:COND]...![else]...![fi] COND can be
gen:SKIPTAG
,skip:SKIPTAG
,skeleton:is:SKELETON
,kind:is:KIND
,not:COND
,pack
(packed)New skeleton projects
mini-lib
andmini-prg
withskip = "test sphinx github docs ocamlformat ocp-indent code"
Improved inline documentation of
drom.toml
andpackage.toml
filesNew command
drom opam-plugin
to installdrom
as an opam plugin, so it can be calledopam drom
from anywhere.New argument
--profile PROFILE
todrom build
New argument
--all
todrom test
to do the test on all available/compatible opam switches (using dune-workspace context feature)New option
dev-tools
in ~/.config/drom/config, a list of opam packages that should be installed in the local switch whendrom dev-deps
is calledNew environment variable DROM_SHARE_DIR can be used to set the directory containing
skeletons
andlicenses
directories (can be used to install drom globally, i.e. DROM_SHARE_DIR=$OPAM_SWITCH_PREFIX/share/drom)New common argument
-q
or--quiet
to set verbosity to 0New command
drom dep [DEP]
: display and update dependencies with options: --package NAME : only for package NAME --tool : tool dependencies --add : add new dependency --remove : remove dependency --ver VERSION : set version constraint --lib LIBNAME : set dune name --test BOOL : set for-test --doc BOOL : set for-docNew option
drom package x --new-file y.ml
to create a source file with a correct license headerField
gen-version = "version.ml"
inpackage.toml
does not create the file "version.ml" anymore, but a script "version.mlt" to generate the file with git informationNew command
drom lock
to generate a file${package}-deps.opam.locked
and git add it.New argument
--locked
todrom build
to use${package}-deps.opam.locked
if available.Fixes:
OCaml escaping in toml file preventing
drom new
when utf8 chars are present in email addresses of authors
v0.2.0 ( 2020-11-24 )
Fix bug with misnamed 'packages.toml` file in skeletons
v0.1.0 ( 2020-11-23 )
First version