Saswat Padhi
af76ecb6a0
Fixed a small typo
2018-02-21 20:29:48 -08:00
Christophe Troestler
75ad9736f8
Move usexp in src/ as it diverged from parsexp
2018-02-15 00:43:08 +01:00
Christophe Troestler
4ddb268b39
Update the documentation for quoted strings
2018-02-15 00:43:08 +01:00
Jérémie Dimino
b3838284c6
Better support for mli/rei only modules ( #489 )
2018-02-08 10:12:46 +00:00
Jeremie Dimino
3347d4d59f
Regenerate doc/jbuild
2018-02-07 12:11:27 +00:00
Jérémie Dimino
0570e09f9a
Add a configuration file and a quiet mode ( #490 )
2018-02-07 11:38:21 +00:00
Jérémie Dimino
437211f74f
Expose the promote mode ( #437 )
2018-01-25 19:07:46 +00:00
Louis Roché
ecccd90196
doc: fix link to ocaml-cross organization on github
2018-01-25 05:40:05 +00:00
Rudi Grinberg
58f9e9840c
Replace janestreet/jbuilder with ocaml/dune
...
Update all links where necessary
2018-01-23 17:52:44 +08:00
Jeremie Dimino
748da3433a
Update urls for the opam-cross-x repositories
2018-01-22 09:45:43 +00:00
Jérémie Dimino
9dd5ab74e4
[WIP] Load rules lazily ( #370 )
...
* Change jbuilder to load rules lazily
Rules are now loaded on a per directory basis as needed. This speed up
the start up time on large workspaces.
Does various refactoring as well.
* Simplify the handling of META files
We no longer generate a META.foo.from-jbuilder file. Nobody is using
this feature and it's making the new code more complicated.
2018-01-19 08:50:06 +00:00
Jérémie Dimino
b06aad431e
Replace promote actions by diff actions + promote command ( #421 )
...
* Remove (promote ...) and (promote-if ...)
* Remove `--promote ...`
* Add (diff ...) and (diff? ...)
* Add `jbuilder promote` and `--auto-promote`
* Fix #423
2018-01-18 11:32:20 +00:00
Anil Madhavapeddy
8c403c467f
docs: fix typos in manual
2018-01-17 08:17:55 +00:00
Jérémie Dimino
49edf8ed65
Accept correction files produced by ppx_driver ( #415 )
...
* Accept correction files produced by ppx_driver so that [@@deriving_inline] works
* Change promote-if so that it doesn't promote the file when the source file doesn't exist in the source tree
2018-01-16 12:28:02 +00:00
Jeremie Dimino
d4dec9b4f5
Change the default of --promote from check to copy
...
As said in the PR. I forgot to push the commit.
2018-01-15 14:55:17 +00:00
Jérémie Dimino
eab1ff6c7b
Add promote actions and include stanzas ( #402 )
...
Add a promote action that allows to copy over generated files as
source files and an include stanza allowing to include a file in a
jbuild file.
2018-01-15 13:24:25 +00:00
Christophe Troestler
f8617b5721
Let "concat" or "split" be a quality of the variable ( #336 )
...
* Let variables say whether they are Concat or Split
To concatenate the contents of a split variable, put it in a string:
"${var} ".
Fixes #300
See also https://github.com/janestreet/jbuilder/issues/408
* Issue a deprecation warning for ${!...}
* Treat ${CC}, ${<}, ${^} and ${read-lines:...} as split vars
* Change ${!^} into ${^} for this project jbuild rules
2018-01-15 09:32:40 +00:00
Jeremie Dimino
2b49123ae1
Update documentation to reflect cross compilation
...
Describes how to setup targets and toolchains and the changes to the workspace
syntax.
2018-01-01 22:34:41 +08:00
Rudi Grinberg
a265889400
Mention ppxfind in docs ( #357 )
2017-12-11 19:40:54 +08:00
Ian Denhardt
b5ba49d9b4
Clarify use of the .exe extension
...
.exe for executables is usually a windows-only convention; this threw me
for a moment and it seems worth calling out that this isn't platform
dependent.
2017-10-25 15:10:32 -04:00
Rudi Grinberg
a63276f5b3
Merge pull request #268 from janestreet/new-alias-semantic
...
Sort out recursive/non-recursive aliases
2017-10-19 15:33:23 +08:00
Rudi Grinberg
f9025a401a
Document utop command
2017-10-14 18:50:37 +08:00
Jeremie Dimino
8466924a73
Update doc
2017-10-14 10:37:36 +08:00
Rudi Grinberg
97511eb77b
fix header for "running tests"
2017-10-10 16:15:50 -04:00
Jeremie Dimino
5de73ca740
Add support for locks in rules
...
This is to allow users define more complicated tests without having
to resort to -j1.
2017-09-29 12:20:08 +01:00
Jeremie Dimino
50cbbe2ac5
Add ${path-no-dep:...}
...
To be able to resolve path names that are not dependencies.
2017-09-29 11:55:23 +01:00
Jeremie Dimino
8383a00e4c
Generate man page for 'jbuilder utop'
2017-09-29 11:28:01 +01:00
Jeremie Dimino
cc0bf2dfb7
Rephrase the doc for (merlin) in jbuild-workspace
...
Related to #257
2017-09-22 12:20:22 +01:00
Jeremie Dimino
157e4d6548
Print "Entering directory '...'" when necessary
...
When the root of the workspace is not the current directory, print:
Entering directory '<absolute path to root>'
This way editors such as emacs or vim knows how to interpret filenames
reported by the compiler.
Fixes #138
2017-09-22 01:59:45 +01:00
Jeremie Dimino
b2e7720b41
Interpret empty jbuild-workspace files as default configuration
...
If a workspace file is empty, interpret it the same as if it contained:
(context default)
As discussed in #234
2017-09-22 01:59:45 +01:00
Jeremie Dimino
47d1f74ef0
Explain the difference between copy_files and copy_files#
2017-09-10 02:39:34 +01:00
François Bobot
cecf0a2aaf
Add (copy_files <glob>) stanza ( #35 )
...
Add (copy_files <glob>) and (copy_files# <glob>) stanzas. These
stanzas setup rules for copying files from a sub-directory to the
current directory.
This provides a reasonable way to support multi-directory
library/executables in jbuilder.
2017-09-10 02:31:07 +01:00
Jeremie Dimino
297e82061e
Update_file --> Write_file
...
The difference is not meaningful anymore. Also expose Write_file as
write-file.
2017-08-17 15:13:11 +01:00
Jérémie Dimino
6bed864057
Better behavior when the targets of a rule already exist in the source tree ( #218 )
...
Warn when a file is both present in the source tree and generated by
a rule. Before, jbuilder would silently ignore the rule. One now has
to add a field `(fallback)` to custom rules to keep the current
behavior.
2017-08-15 11:16:11 +01:00
Nicolás Ojeda Bär
3b1182c23a
Fix typos
2017-08-15 07:32:17 +01:00
Jeremie Dimino
b913a42739
Fix documentation about library dependencies
2017-08-08 13:56:28 +01:00
Jeremie Dimino
06b47a73f6
Do not accept per_file anymore
...
It was renamed per_module and it is planned to reuse per_file for
another purpose.
2017-08-04 09:24:02 +01:00
David Allsopp
13b0eb9f2b
Convert link_flags to the ordered set DSL
2017-08-03 17:28:32 +01:00
David Allsopp
ec29651cff
Extend (:include ) form to js_of_ocaml flags
2017-08-03 17:28:32 +01:00
David Allsopp
cebbb219e7
Extend (:include ) form to OCaml flags
...
flags, ocaml_flags and ocamlopt_flags now support the (:include ) form
of the ordered set language.
2017-08-03 17:28:32 +01:00
Jeremie Dimino
cfd43d5282
Simplify a bit the rules for installation of library files
2017-07-25 17:07:24 +01:00
François Bobot
44a15bcd24
Fix documentation for `--libdir`
2017-07-25 16:44:14 +01:00
François Bobot
747cf220c6
Install by specifying libdir for opam-installer
...
- change default findlib directory (ocamlc -where)
2017-07-25 16:44:14 +01:00
Jeremie Dimino
4b40cad247
Revert public_interfaces for now
...
The code to support it is starting to become increasingly complicated
and the number of problem found is a bit alarming.
We'll reinclude it later after a bit more testing and hopefully some
simplifications.
2017-07-21 17:32:39 +01:00
Jeremie Dimino
9893c14500
Fix some problems related to public_interfaces
...
The dependencies on library artifacts are now properly setup to point
to the files in _build/install/...
Moreorver, private interfaces are now only visible inside the library
itself and are only allowed for private libraries. When a project
defines multiple packages, this ensures that the visibility when all
packages are built simultaneously and when they are installed one by
one.
We can relax these restrictions later with a bit more work and a clear
definition of where private modules should be visible.
2017-07-21 16:52:28 +01:00
Jeremie Dimino
2b93f960b6
Doc tweaks
2017-07-19 15:31:17 +01:00
François Bobot
a3933a2c18
Add public_interfaces selection for libraries ( #106 )
...
Add a field "public_interfaces" to library stanza listing which modules are public.
Private modules won't be accessible outside the scope where the library is defined.
2017-07-19 15:26:48 +01:00
Egor Panfilov
15f2687f0f
Added missing parenthesis in quickstart
2017-07-16 13:56:48 +03:00
Anton Bachin
63b63eb0ac
Fix typos
2017-06-17 12:06:58 -04:00
Tim McGilchrist
a9f7166a2a
Spelling
2017-06-16 14:20:06 +10:00
Jeremie Dimino
daeb40b087
Add SCOPE_ROOT
...
While analysing packages using jbuilder, I found that some packages
use ${ROOT} to refer to the root of the project. However, this doesn't
work as ${ROOT} depends on the workspace configuration.
Add ${SCOPE_ROOT} to make this easier for projects with a lot of
nested sub-directories.
2017-06-09 12:45:05 +01:00
Jeremie Dimino
eb7b5e2be4
Help users to not use non-future proof features in jbuild files
2017-06-08 11:33:59 +01:00
Jeremie Dimino
e4300e7b51
Make (run prog ...) behave the same as (run ${bin:prog} ...)
...
This just seems like a better default
2017-06-08 10:37:25 +01:00
Jérémie Dimino
2e2a707d4b
Automatically install executable with extension `.exe` on Windows ( #123 )
...
- Automatically add exe extension when installing executables
- Look for local binaries with .exe extension on Windows
2017-06-08 09:59:43 +01:00
Jeremie Dimino
0cea06b5d2
Fix #125
2017-06-06 14:59:21 +01:00
Jeremie Dimino
e51002d1b7
Restrict what one can do with the OCaml syntax
...
Until we decide in what direction it should go.
2017-06-06 10:23:22 +01:00
Anil Madhavapeddy
d279e1e25d
docs: remove an extra set of brackets from the `select ... from` ( #121 )
...
Looks like the right syntax is `(select foo from (x -> y) ( -> y))`
from the example use in js_of_ocaml/compiler
2017-06-05 16:16:49 +01:00
Jeremie Dimino
2be5e593d6
rework the documentation of scopes
2017-06-05 12:33:45 +01:00
Jeremie Dimino
a392b59fcd
copy-and-add-line-directive --> copy#
2017-06-05 12:11:39 +01:00
Jeremie Dimino
a677a6077e
Add a note about byte-code executables ( #108 )
2017-06-02 18:54:45 +01:00
Jeremie Dimino
9eb215055e
Remove the use of (foreach ...) in doc/jbuild
2017-06-02 18:25:20 +01:00
Jeremie Dimino
a7446ec7d3
per_file --> per_module
2017-06-02 17:58:20 +01:00
Jeremie Dimino
fd76d7b9a9
Remove (ml_of_mli ...) and (re_of_rei ...)
...
Instead make jbuilder print the rule to do the same in the warning
message. The rule is not that big. Also add a note about mli only
modules in the "Known issues" section of the README.
This avoids polluting the jbuild specification and is still a
reasonable solution until someone implements proper support for mli
only modules in the compiler.
2017-06-02 13:17:28 +01:00
Jeremie Dimino
7dc30d1184
Document `jbuilder subst` in the manual
2017-06-02 11:59:14 +01:00
Jeremie Dimino
5e06daa5b2
Rename (do ...) to (rule ...)
2017-06-01 16:53:55 +01:00
Rudi Grinberg
f98072deb7
Doc tweaks ( #112 )
...
* Fix a link and some typos
* Fix some crappy formatting introduced by the pandoc conversion.
* Use more subheadings rather than points.
2017-06-01 16:02:29 +01:00
Jeremie Dimino
827aac0e43
Fix doc for (preprocess (per_file ...))
2017-06-01 11:19:59 +01:00
Jeremie Dimino
1c8ffaa3aa
Check that no targets are generated outside of the current dir
2017-05-31 10:34:17 +01:00
Jeremie Dimino
419df111bf
Update doc
2017-05-30 17:10:50 +01:00
Jeremie Dimino
5167dd2f16
Document the (<file> as <destination>) syntax
2017-05-30 12:27:20 +01:00
Jeremie Dimino
a8a43e4b22
Add ${!^} and ${!@} and document them
2017-05-29 19:12:37 +01:00
Jeremie Dimino
3241026fff
Update doc
2017-05-29 18:55:39 +01:00
Jeremie Dimino
65a54f405b
Add an example to build a toplevel
2017-05-29 14:31:36 +01:00
Jeremie Dimino
9f8803af67
Add (modes ...) for executables
2017-05-29 14:18:07 +01:00
Jeremie Dimino
df3ac59d72
Clarify availability of native compilation
2017-05-29 13:18:55 +01:00
Jeremie Dimino
9dda44d65d
Add a comment in the jbuild of the hello_world example
2017-05-29 10:32:36 +01:00
Jeremie Dimino
3d3b10d6a7
executables --> executable in the quick start
2017-05-29 10:31:42 +01:00
Jeremie Dimino
052dda3177
Add a comment about jbulder and findlib predicates
...
CLoses #96
2017-05-29 10:26:37 +01:00
Jeremie Dimino
82ecbcf64a
Update the doc
2017-05-29 10:05:04 +01:00
Jeremie Dimino
5372ebdea1
Remove jane_street version
...
It's not used. We'll re-add it if really necessary.
2017-05-29 09:54:56 +01:00
David Allsopp
9e81f887de
Document the comment symbol in jbuild files
2017-05-29 08:54:50 +01:00
Hezekiah M. Carty
3d194c5276
Minor typos
2017-05-29 08:51:44 +01:00
Jérémie Dimino
f1ebc0ed7d
Add (mli-to-ml ...) as a hack for mli only modules
2017-05-29 07:51:52 +01:00
Jérémie Dimino
c6cc8204bf
Add (foreach ...) form
2017-05-29 07:51:52 +01:00
Markus Mottl
e63a6e4006
Command typo
2017-05-27 20:18:19 -04:00
Jeremie Dimino
15491fd599
Document API doc
2017-05-26 18:34:49 +01:00
Richard Davison
91d03de221
Add clean subcommand ( #89 )
2017-05-26 11:32:32 +01:00
Marek Kubica
3633d5b012
Fix small typo in quickstart
2017-05-24 14:38:10 +01:00
Yaron Minsky
f994c4690e
Update quick-start.rst
2017-05-22 11:58:58 +01:00
Yaron Minsky
4dada0e91d
Update quick-start.rst
2017-05-22 11:58:58 +01:00
Yaron Minsky
ad9285493b
Add an example showing how to use ppx_jane
2017-05-22 11:58:58 +01:00
Yaron Minsky
b8acabee43
Fix language choice for example in docs.
2017-05-21 14:45:06 -04:00
Jeremie Dimino
c6dac87ee9
Ignore all directories starting with '.' pr '_'
2017-05-19 12:36:06 +01:00
Jérémie Dimino
fe30935fa2
Rename 'extract-makefile' to 'rules'
2017-05-19 08:27:21 +01:00
Rudi Grinberg
1309a92ec5
Fix links in rst docs
...
Were not converted correctly by pandoc so they must be fixed manually
2017-05-19 08:25:46 +01:00
Jeremie Dimino
d219020b2f
added jbuilder extract-makefile
2017-05-18 19:05:01 +01:00
Louis Roché
f57c084f4b
fix typo in quick start documentation ( #79 )
2017-05-17 08:12:58 +01:00
Jeremie Dimino
d0be25cd88
manual.org and quick-start.org no longer exist
2017-05-15 17:14:10 +01:00
Rudi Grinberg
56093df13e
Read The Docs
...
Port manual to RST to make it usable on readthedocs.
conf.py was only there to make it easy to preview changes if you have sphinx
installed.
2017-05-15 11:53:55 -04:00
Jeremie Dimino
15f43615c5
Add a note about % in user rules
...
Related to #73
2017-05-11 16:07:59 +01:00