Rename to dune in README.md
Signed-off-by: Etienne Millon <etienne@cryptosense.com>
This commit is contained in:
parent
7c345b677f
commit
bdd579c985
53
README.md
53
README.md
|
@ -4,10 +4,10 @@ Dune (Jbuilder) - A composable build system
|
||||||
__Jbuilder has been renamed to Dune__. A full renaming of the documentation and
|
__Jbuilder has been renamed to Dune__. A full renaming of the documentation and
|
||||||
the tool will be done as part of the 1.0 release.
|
the tool will be done as part of the 1.0 release.
|
||||||
|
|
||||||
Jbuilder is a build system designed for OCaml/Reason projects only. It
|
Dune is a build system designed for OCaml/Reason projects only. It
|
||||||
focuses on providing the user with a consistent experience and takes
|
focuses on providing the user with a consistent experience and takes
|
||||||
care of most of the low-level details of OCaml compilation. All you
|
care of most of the low-level details of OCaml compilation. All you
|
||||||
have to do is provide a description of your project and Jbuilder will
|
have to do is provide a description of your project and dune will
|
||||||
do the rest.
|
do the rest.
|
||||||
|
|
||||||
The scheme it implements is inspired from the one used inside Jane
|
The scheme it implements is inspired from the one used inside Jane
|
||||||
|
@ -15,17 +15,17 @@ Street and adapted to the open source world. It has matured over a
|
||||||
long time and is used daily by hundreds of developers, which means
|
long time and is used daily by hundreds of developers, which means
|
||||||
that it is highly tested and productive.
|
that it is highly tested and productive.
|
||||||
|
|
||||||
Jbuilder comes with a [manual][manual]. If you want to get started
|
Dune comes with a [manual][manual]. If you want to get started
|
||||||
without reading too much, you can look at the [quick start
|
without reading too much, you can look at the [quick start
|
||||||
guide][quick-start] or watch [this introduction video][video].
|
guide][quick-start] or watch [this introduction video][video].
|
||||||
|
|
||||||
The [example][example] directory contains examples of projects using
|
The [example][example] directory contains examples of projects using
|
||||||
jbuilder.
|
dune.
|
||||||
|
|
||||||
[![Travis status][travis-img]][travis] [![AppVeyor status][appveyor-img]][appveyor]
|
[![Travis status][travis-img]][travis] [![AppVeyor status][appveyor-img]][appveyor]
|
||||||
|
|
||||||
[manual]: https://jbuilder.readthedocs.io/en/latest/
|
[manual]: https://dune.readthedocs.io/en/latest/
|
||||||
[quick-start]: https://jbuilder.readthedocs.io/en/latest/quick-start.html
|
[quick-start]: https://dune.readthedocs.io/en/latest/quick-start.html
|
||||||
[example]: https://github.com/ocaml/dune/tree/master/example
|
[example]: https://github.com/ocaml/dune/tree/master/example
|
||||||
[travis]: https://travis-ci.org/ocaml/dune
|
[travis]: https://travis-ci.org/ocaml/dune
|
||||||
[travis-img]: https://travis-ci.org/ocaml/dune.svg?branch=master
|
[travis-img]: https://travis-ci.org/ocaml/dune.svg?branch=master
|
||||||
|
@ -41,36 +41,36 @@ jbuilder.
|
||||||
Overview
|
Overview
|
||||||
--------
|
--------
|
||||||
|
|
||||||
Jbuilder reads project metadata from `jbuild` files, which are either
|
Dune reads project metadata from `dune` files, which are either
|
||||||
static files in a simple S-expression syntax or OCaml scripts. It uses
|
static files in a simple S-expression syntax or OCaml scripts. It uses
|
||||||
this information to setup build rules, generate configuration files
|
this information to setup build rules, generate configuration files
|
||||||
for development tools such as [merlin][merlin], handle installation,
|
for development tools such as [merlin][merlin], handle installation,
|
||||||
etc...
|
etc...
|
||||||
|
|
||||||
Jbuilder itself is fast, has very low overhead and supports parallel
|
Dune itself is fast, has very low overhead and supports parallel
|
||||||
builds on all platforms. It has no system dependencies: all you need
|
builds on all platforms. It has no system dependencies: all you need
|
||||||
to build jbuilder and packages using jbuilder is OCaml. You don't need
|
to build dune and packages using dune is OCaml. You don't need
|
||||||
`make` or `bash` as long as the packages themselves don't use `bash`
|
`make` or `bash` as long as the packages themselves don't use `bash`
|
||||||
explicitly.
|
explicitly.
|
||||||
|
|
||||||
Especially, one can install OCaml on Windows with a binary installer
|
Especially, one can install OCaml on Windows with a binary installer
|
||||||
and then use only the Windows Console to build Jbuilder and packages
|
and then use only the Windows Console to build dune and packages
|
||||||
using Jbuilder.
|
using dune.
|
||||||
|
|
||||||
Strengths
|
Strengths
|
||||||
---------
|
---------
|
||||||
|
|
||||||
### Composable
|
### Composable
|
||||||
|
|
||||||
Take n repositories that use Jbuilder, arrange them in any way on the
|
Take n repositories that use dune, arrange them in any way on the
|
||||||
file system and the result is still a single repository that Jbuilder
|
file system and the result is still a single repository that dune
|
||||||
knows how to build at once.
|
knows how to build at once.
|
||||||
|
|
||||||
This make simultaneous development on multiple packages trivial.
|
This make simultaneous development on multiple packages trivial.
|
||||||
|
|
||||||
### Gracefully handles multi-package repositories
|
### Gracefully handles multi-package repositories
|
||||||
|
|
||||||
Jbuilder knows how to handle repositories containing several
|
Dune knows how to handle repositories containing several
|
||||||
packages. When building via [opam][opam], it is able to correctly use
|
packages. When building via [opam][opam], it is able to correctly use
|
||||||
libraries that were previously installed even if they are already
|
libraries that were previously installed even if they are already
|
||||||
present in the source tree.
|
present in the source tree.
|
||||||
|
@ -78,12 +78,12 @@ present in the source tree.
|
||||||
The magic invocation is:
|
The magic invocation is:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
$ jbuilder build --only-packages <package-name> @install
|
$ dune build --only-packages <package-name> @install
|
||||||
```
|
```
|
||||||
|
|
||||||
### Building against several configurations at once
|
### Building against several configurations at once
|
||||||
|
|
||||||
Jbuilder is able to build a given source code repository against
|
Dune is able to build a given source code repository against
|
||||||
several configurations simultaneously. This helps maintaining packages
|
several configurations simultaneously. This helps maintaining packages
|
||||||
across several versions of OCaml as you can test them all at once
|
across several versions of OCaml as you can test them all at once
|
||||||
without hassle.
|
without hassle.
|
||||||
|
@ -99,22 +99,21 @@ This feature requires [opam][opam].
|
||||||
advanced features such as polling or much better editor
|
advanced features such as polling or much better editor
|
||||||
integration. Jenga is more powerful and more complex and as a result
|
integration. Jenga is more powerful and more complex and as a result
|
||||||
has many more dependencies. It is planned to implement a small bridge
|
has many more dependencies. It is planned to implement a small bridge
|
||||||
between the two so that a Jbuilder project can build with Jenga using
|
between the two so that a dune project can build with Jenga using
|
||||||
this bridge.
|
this bridge.
|
||||||
|
|
||||||
Requirements
|
Requirements
|
||||||
------------
|
------------
|
||||||
|
|
||||||
Jbuilder requires OCaml version 4.02.3 or greater.
|
Dune requires OCaml version 4.02.3 or greater.
|
||||||
|
|
||||||
Installation
|
Installation
|
||||||
------------
|
------------
|
||||||
|
|
||||||
The recommended way to install jbuilder is via the
|
The recommended way to install dune is via the [opam package manager][opam]:
|
||||||
[opam package manager][opam]:
|
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
$ opam install jbuilder
|
$ opam install dune
|
||||||
```
|
```
|
||||||
|
|
||||||
You can also build it manually with:
|
You can also build it manually with:
|
||||||
|
@ -125,7 +124,7 @@ $ make install
|
||||||
```
|
```
|
||||||
|
|
||||||
Note however that `make install` requires the `opam-installer`
|
Note however that `make install` requires the `opam-installer`
|
||||||
tool. Running simply `make` will build jbuilder using the development
|
tool. Running simply `make` will build dune using the development
|
||||||
settings.
|
settings.
|
||||||
|
|
||||||
If you do not have `make`, you can do the following:
|
If you do not have `make`, you can do the following:
|
||||||
|
@ -139,7 +138,7 @@ $ ./_build/default/bin/main.exe install
|
||||||
Support
|
Support
|
||||||
-------
|
-------
|
||||||
|
|
||||||
If you have questions about jbuilder, you can send an email to
|
If you have questions about dune, you can send an email to
|
||||||
ocaml-core@googlegroups.com or [open a ticket on github][issues].
|
ocaml-core@googlegroups.com or [open a ticket on github][issues].
|
||||||
|
|
||||||
|
|
||||||
|
@ -154,8 +153,8 @@ Status
|
||||||
|
|
||||||
Dune is now fairly stable and is used by the majority of packages on
|
Dune is now fairly stable and is used by the majority of packages on
|
||||||
opam. The package is still in beta version as we are waiting for the
|
opam. The package is still in beta version as we are waiting for the
|
||||||
renaming from Jbuilder to Dune before releasing version 1.0.0. Note
|
renaming from Jbuilder to dune before releasing version 1.0.0. Note
|
||||||
that Dune will have backward compatiblity with Jbuilder, in particular
|
that dune will have backward compatiblity with Jbuilder, in particular
|
||||||
existing Jbuilder projects will continue to be buildable with
|
existing Jbuilder projects will continue to be buildable with
|
||||||
Dune. Additionally, Dune will be able to automatically convert a
|
dune. Additionally, dune will be able to automatically convert a
|
||||||
Jbuilder project into a Dune project.
|
Jbuilder project into a dune project.
|
||||||
|
|
Loading…
Reference in New Issue