package jbuilder

  1. Overview
  2. Docs
Fast, portable and opinionated build system

Install

Dune Dependency

Authors

Maintainers

Sources

1.0+beta5.tar.gz
sha256=9c472aa598f00ffcc1d9a18a6dff42cd358b9977a4561730d35dfd652be91331
md5=8511c1b079abb04d57654aa84d2f9d78

CHANGES.org.html

CHANGES.org

* 1.0+beta5 (22/03/2017)

- When =ocamlfind= is present in the =PATH=, do not attempt to call
  =opam config var lib=

- Make sure the build of jbuilder itself never calls =ocamlfind= or
  =opam=

- Better error message when a jbuild file in OCaml syntax forgets to
  call =Jbuild_plugin.V*.send=

- Added examples of use

- Don't drop inline tests/benchmarks by default

* 1.0+beta4 (20/03/2017)

- Improve error messages about invalid/missing pkg.opam files

- Ignore all errors while running =ocamlfind printconf path=

* 1.0+beta3 (15/03/2017)

- Print optional dependencies as optional in the output of =jbuilder
  external-lib-deps --missing=

- Added a few forms to the DSL:
  + =with-{stderr,outputs}-to=
  + =ignore-{stdout,stderr,outputs}=

- Added =${null}= which expands to =/dev/null= on Unix and =NUL= on
  Windows

- Improve the doc generated by =odoc= for wrapped libraries

- Improve the error reported when an installed package depends on a
  library that is not installed

- Documented =(files_recursively_in ...)=

- Added black box tests

- Fix a bug where =jbuilder= would crash when there was no
  =<package>.opam= file

- Fixed a bug where =.merlin= files where not generated at the root of
  the workspace (#20)

- Fix a bug where a =(glob_files ...)= would cause other dependencies
  to be ignored

- Fix the generated =ppx(...)= line in =META= files

- Fix =(optional)= when a ppx runtime dependency is not available
  (#24)

- Do not crash when an installed package that we don't need has
  missing dependencies (#25)

* 1.0+beta2 (10/03/2017)

- Simplified the rules for finding the root of the workspace as the
  old ones were often picking up the home directory. New rules are:
  + look for a =jbuild-workspace= file in parent directories
  + look for a =jbuild-workspace*= file in parent directories
  + use the current directory

- Fixed the expansion of =${ROOT}= in actions

- Install =quick-start.org= in the documentation directory

- Add a few more things in the log file to help debugging

* 1.0+beta1 (07/03/2017)

- Added a manual

- Support incremental compilation

- Switched the CLI to cmdliner and added a =build= command
  (#5, Rudi Grinberg)

- Added a few commands:
  + =runtest=
  + =install=
  + =uninstall=
  + =installed-libraries=
  + =exec=: execute a command in an environment similar to what you
    would get after =jbuilder install=

- Removed the =build-package= command in favor of a =--only-packages=
  option that is common to all commands

- Automatically generate =.merlin= files
  (#2, Richard Davison)

- Improve the output of jbuilder, in particular don't mangle the
  output of commands when using =-j N= with =N > 1=

- Generate a log in =_build/log=

- Versioned the jbuild format and added a first stable version.
  You should now put =(jbuilder_version 1)= in a =jbuild= file at the
  root of your project to ensure forward compatibility

- Switch from =ppx_driver= to =ocaml-migrate-parsetree.driver=. In
  order to use ppx rewriters with Jbuilder, they need to use
  =ocaml-migrate-parsetree.driver=

- Added support for aliases
  (#7, Rudi Grinberg)

- Added support for compiling against multiple opam switch
  simultaneously by writing a =jbuild-worspace= file

- Added support for OCaml 4.02.3

- Added support for architectures that don't have natdynlink

- Search the root according to the rules described in the manual
  instead of always using the current directory

- extended the action language to support common actions without using
  a shell:
  + =(with-stdout-to <file> <DSL>)=
  + =(copy <src> <dst>)=
  ...

- Removed all implicit uses of bash or the system shell. Now one has
  to write explicitely =(bash "...")= or =(system "...")=

- Generate meaningful versions in =META= files

- Strengthen the scope of a package. Jbuilder knows about package
  =foo= only in the sub-tree starting from where =foo.opam= lives

* 0.1.alpha1 (04/12/2016)

First release
OCaml

Innovation. Community. Security.