This document describe the plan for the next releases of Jbuilder.
Jbuilder is currently in feature freeze. V1 should be released soon.
Add a proper cmdliner based CLI. Jbuilder will include a copy of cmdliner to avoid the extra dependency.
- 20/02/2017: This is now implemented thanks to Rudi Grinberg (#5)
Add a bit more documentation in the Man pages generated by cmdliner.
Document the usage and design of Jbuilder.
- 21/02/2017: There is now a manual, it still needs a bit more about CLI usage
- 07/03/2017: Manual is complete
Add a stable version of the jbuild format so that one can write
(jbuild_version 1)
inside jbuild files and be sure that they will
work with future versions of jbuild.
- 24/02/2017: implemented
Currently jbuilder
assumes that the root of the project/workspace is
where it is started. Eventually this will be changed as follows:
-
if there is a
jbuild-workspace
in a parent directory, it marks the root; -
if not found, look for a
opam
orpackage.opam
file in parent directories; -
if not found, look for a
.git
,.hg
, ... file in parent directories; -
if not found, use the current directory as root.
-
28/02/2017: Implemented
- 25/02/2017: Implemented by Richard Davison (#2)
Allow to define tests with (alias ...)
stanzas and add jbuilder runtest
to run them.
- 21/02/2017: Rudi Grinberg added support for aliases (#7)
- 23/02/2017: Added a
runtest
subcommand
Implement finding the version of a package, as described in the documentation.
- 24/02/2017: Implemented
So that we can filter tests when using -p pkg
- 05/02/2017: Rudi Grinberg added this ([[https://github.com/ocaml/dune/pull/64][#64]])
#60
- 02/05/2017: Merged
It would be nice to integrate with
topkg. Some of the features
overlap, and for instance there doesn't seem to be much point in using
topkg to generate the .install or invoke jbuilder since jbuilder
already handles that well. However, the other features available
through the topkg
command line tool would be good to have.
- 08/05/2017: Made topkg and jbuilder work together with topkg-jbuilder
Support generating documentation with odoc
#23
Everything needed for cross-compilation is implemented. One
essentially need to add a function host_exe : Path.t -> Path.t
inside build contexts to make it all work, as well as a way to define
the build contexts. These could be defined inside jbuild-workspace
as follows:
(context
((name foo)
(switch 4.04.0)))
(context
((name foo+mingw)
(switch 4.04.0+mingw)
(host foo)))
Implement a jenga plugin that can read the same jbuild files as Jbuilder. To do that we'll use Jbuilder as a library.
Setup automatic support of inline tests and inline benchmarks.
Currently in (action ...)
fields, when not using bash
the language
is very limited. It would be nice to add more commands that would
guarantee portability and avoid the quoting nightmare of bash
.
FS commands should be straight foward to implement:
(copy <src> <dst>)
(mkdir <path>)
- ...
Redirections to/from files are simple as well.
We could also implements pipes ((pipe <command1> <command2> ...)
) by
using temporary files. Using proper pipes would complicate windows
support and would make proper handling of -j
hard. Using temporary
files will be just fine.
Load a configuration file from ~/.config/jbuilder/config.sexp
where
the user can define preferences such as colors.
It doesn't follow the specification given in the readme of parsexp. This need to be fixed.