update the ROADMAP.org
This commit is contained in:
parent
f00fd49f0b
commit
e8d6072d0e
62
README.org
62
README.org
|
@ -56,14 +56,12 @@ possible.
|
|||
|
||||
** Status
|
||||
|
||||
Jbuilder is still in its infancy and in active development. One vital
|
||||
thing that is still missing is a proper CLI. It is planned to add one
|
||||
by dropping a copy of [[http://erratique.ch/software/cmdliner][cmdliner]]
|
||||
inside jbuilder.
|
||||
Jbuilder is still in its infancy and in active development. The CLI is
|
||||
still basic and not well documented.
|
||||
|
||||
Most of the core functionality is already there however. What you can do
|
||||
right now is write some jbuild files, and invoke jbuilder at the root
|
||||
of your project as follows:
|
||||
However, most of the core functionality is already implemented. What
|
||||
you can do right now is write some jbuild files, and invoke jbuilder
|
||||
at the root of your project as follows:
|
||||
|
||||
#+begin_src
|
||||
$ jbuilder <package>.install
|
||||
|
@ -74,51 +72,5 @@ installed.
|
|||
|
||||
** Roadmap
|
||||
|
||||
Following is the current plan for the future of jbuild.
|
||||
|
||||
*** CLI
|
||||
|
||||
Add a proper [[http://erratique.ch/software/cmdliner][cmdliner]] based CLI.
|
||||
Jbuilder will include a copy of cmdliner to avoid the extra dependency.
|
||||
|
||||
*** Documentation
|
||||
|
||||
Document the usage and design of Jbuilder.
|
||||
|
||||
*** Stable jbuild types
|
||||
|
||||
Add a stable version of the jbuild format so that one can write
|
||||
=(jbuild_format 1)= inside jbuild files and be sure that they will
|
||||
work with future versions of jbuild.
|
||||
|
||||
The standard jbuild format will evolve with the format used inside
|
||||
Jane Street so that it can be used to easily build Jane Street packages.
|
||||
|
||||
*** Finding the project/workspace root
|
||||
|
||||
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= or =package.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.
|
||||
|
||||
*** Cross-compilation
|
||||
|
||||
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:
|
||||
|
||||
#+begin_src scheme
|
||||
(context
|
||||
((name foo)
|
||||
(switch 4.04.0)))
|
||||
|
||||
(context
|
||||
((name foo+mingw)
|
||||
(switch 4.04.0+mingw)
|
||||
(host foo)))
|
||||
#+end_src
|
||||
See [[ROADMAP.org]] for the current plan. Help on any of these points is
|
||||
welcome!
|
||||
|
|
|
@ -0,0 +1,78 @@
|
|||
This document describe the plan for the next releases of Jbuilder.
|
||||
|
||||
* V1
|
||||
|
||||
** +CLI+
|
||||
|
||||
Add a proper [[http://erratique.ch/software/cmdliner][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)
|
||||
|
||||
*** Improve the man pages
|
||||
|
||||
Add a bit more documentation in the Man pages generated by cmdliner.
|
||||
|
||||
** Documentation
|
||||
|
||||
Document the usage and design of Jbuilder.
|
||||
|
||||
- *21/02/2017*: There is now a manual, it still needs a bit more about
|
||||
CLI usage
|
||||
|
||||
** Stable jbuild types
|
||||
|
||||
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.
|
||||
|
||||
** Finding the project/workspace root
|
||||
|
||||
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= or =package.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.
|
||||
|
||||
** Generate .merlin files (#1)
|
||||
|
||||
- *08/02/2017*: Richard Davison is working on this (#2)
|
||||
|
||||
** Running tests with jbuilder (#3)
|
||||
|
||||
Allow to define tests with =(alias ...)= stanzas and add =jbuilder
|
||||
runtest= to run them.
|
||||
|
||||
- *21/02/2107*: Rudi Grinberg added support for aliases (#7)
|
||||
|
||||
* After V1
|
||||
|
||||
** Cross-compilation
|
||||
|
||||
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:
|
||||
|
||||
#+begin_src scheme
|
||||
(context
|
||||
((name foo)
|
||||
(switch 4.04.0)))
|
||||
|
||||
(context
|
||||
((name foo+mingw)
|
||||
(switch 4.04.0+mingw)
|
||||
(host foo)))
|
||||
#+end_src
|
||||
|
||||
** Jenga bridge
|
||||
|
||||
Implement a jenga plugin that can read the same jbuild files as
|
||||
Jbuilder. To do that we'll use Jbuilder as a library.
|
||||
|
||||
** odoc support
|
||||
|
||||
Support generating documentation with [[https://github.com/ocaml-doc/odoc][odoc]].
|
Loading…
Reference in New Issue