package drom
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
On This Page
  
  
  The drom tool is a wrapper over opam/dune in an attempt to provide a cargo-like user experience
Install
    
    dune-project
 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 - dromrequires additional features in toml that do not fit in the standard- tomllibrary, we forked- toml.0.7.1into- drom_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 PACKAGESwhere PACKAGES is a limited set of project packages
- drom buildtries to update program files by default, unless- auto-upgrade: falseis set in user configuration:- [user] auto-upgrade = false
v0.5.0
- Add --edition and --min-edition to drom newanddrom 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.tomlto 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-libandmini-prgwithskip = "test sphinx github docs ocamlformat ocp-indent code"
- Improved inline documentation of drom.tomlandpackage.tomlfiles
- New command drom opam-pluginto installdromas an opam plugin, so it can be calledopam dromfrom anywhere.
- New argument --profile PROFILEtodrom build
- New argument --alltodrom testto do the test on all available/compatible opam switches (using dune-workspace context feature)
- New option dev-toolsin ~/.config/drom/config, a list of opam packages that should be installed in the local switch whendrom dev-depsis called
- New environment variable DROM_SHARE_DIR can be used to set the directory containing skeletonsandlicensesdirectories (can be used to install drom globally, i.e. DROM_SHARE_DIR=$OPAM_SWITCH_PREFIX/share/drom)
- New common argument -qor--quietto 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.mlto create a source file with a correct license header
- Field gen-version = "version.ml"inpackage.tomldoes not create the file "version.ml" anymore, but a script "version.mlt" to generate the file with git information
- New command drom lockto generate a file${package}-deps.opam.lockedand git add it.
- New argument --lockedtodrom buildto use${package}-deps.opam.lockedif available.
- Fixes: - OCaml escaping in toml file preventing drom newwhen 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