package drom_lib
The drom tool is a wrapper over opam/dune in an attempt to provide a cargo-like user experience
Install
Dune Dependency
ocamlpro.github.io
Readme
Changelog
LGPL-2.1-only WITH OCaml-LGPL-linking-exception License
Edit opam file
Versions (5)
Authors
Maintainers
Sources
v0.8.0.tar.gz
sha256=080b24601f5a6ac12980b029dd23bfe9e948f9959e89c54464e757a4db8f245a
doc/CHANGES.html
v0.8.0
- Improve templates to inherit values from drom.toml/package.toml inherited files
drom_toml: because
drom
requires additional features in toml that do not fit in the standardtoml
library, we forkedtoml.0.7.1
intodrom_toml
. Additional features:- New operators: == (init value if never set), := (override value), -= (delete/clear value)
- Fix ocamlformat stuck at 0.15
- Make .ocamlformat-ignore always ignore share-dirs
v0.7.0
- temporary version, never released
v0.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
v0.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
files - New 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 called - New 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 0 - New 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-doc - New option
drom package x --new-file y.ml
to create a source file with a correct license header - Field
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 information - New 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
- OCaml escaping in toml file preventing
v0.2.0 ( 2020-11-24 )
- Fix bug with misnamed 'packages.toml` file in skeletons
v0.1.0 ( 2020-11-23 )
- First version
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page