Jeremie Dimino
b401284b84
Restore .merlin-exists trick
...
This is needed so that command don't depend on the contents of the .merlin
2018-01-19 22:54:05 +00:00
Jeremie Dimino
8b11b494d2
Fix Path.pp
2018-01-19 22:44:30 +00:00
Jeremie Dimino
92c7927432
Fix Path.explode
2018-01-19 22:43:40 +00:00
Jérémie Dimino
5651eb80b5
Better behavior when aliases have targets ( #426 )
...
Ignore the targets and report a warning.
2018-01-19 22:17:11 +00:00
Jeremie Dimino
92f9ce4edb
Fix the order of files in (diff file.ml file.ml.ppx-corrected)
...
The generated correction must come after for promotion to work.
2018-01-19 15:32:29 +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
hhugo
9347d4a767
tailrec split_lines ( #416 )
2018-01-17 13:34:53 +00:00
Jérémie Dimino
314da72d3c
Better signature for Artifacts.file_of_lib ( #418 )
2018-01-16 13:40:04 +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
Jeremie Dimino
ce901a4731
Fix the build
2018-01-15 13:50:08 +00:00
Jérémie Dimino
af5d7f5e6f
Report better errors for globs pointing to non-existing directories ( #413 )
...
Fix #412
2018-01-15 13:28:32 +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
Jérémie Dimino
d3410e0659
Refactor alias handling
...
* Improve documentation of alias module
* Add add_alias helper function to help create rules in alias
2018-01-13 19:51:24 +08:00
Jérémie Dimino
a1026f46d1
Add action helpers
...
Add constructor functions for Actions
2018-01-13 19:51:18 +08:00
Jérémie Dimino
e28344a24b
Do not use the transitive closure in generated META files ( #405 )
2018-01-12 16:41:23 +00:00
Rudi Grinberg
92d4cbb7be
Merge pull request #404 from janestreet/make-lint-standard
...
Make lint alias standard
2018-01-12 15:46:26 +08:00
Rudi Grinberg
6bd46a76f8
Make lint alias standard
2018-01-11 16:20:19 +08:00
Rudi Grinberg
3776acd8d2
Fix c_compiler parsing for OCaml >= 4.06.0 ( #393 )
2018-01-10 16:54:25 +00:00
Rudi Grinberg
ca1c8dd897
Add -null option to linters
...
Since the omp driver doesn't support this option yet, we must add it
conditionally. This is a temporary workaround.
2018-01-10 22:45:50 +08:00
Rudi Grinberg
1fc0ef0ab1
Add lint rules
2018-01-10 22:45:50 +08:00
Rudi Grinberg
6d2152e7b1
Add Alias.add_{stamp,action}_dep
...
These functions will be useful to construct alias elsewhere
2018-01-10 22:45:50 +08:00
Rudi Grinberg
bfbfc0bf30
Change lint option to be the same as preprocessing
2018-01-10 22:45:50 +08:00
Rudi Grinberg
66fc8db600
add lint alias
2018-01-10 22:45:49 +08:00
Rudi Grinberg
897c1e2e5e
Add helper functions
...
* Path.Set.sexp_of_t
* Module.iter
* List.last
2018-01-10 22:45:31 +08:00
Jeremie Dimino
469079f9c6
Connect usexp errors to the error reporter
...
Fix #384
2018-01-09 09:55:01 +00:00
Rudi Grinberg
1ff8a7989c
Cross compilation support
...
In a host/target setup, all binaries that are built (including preprocessors)
are ran using the host *for* building targets. Final target artifacts are
compiled using the target toolchain
2018-01-01 22:34:41 +08:00
Jeremie Dimino
6e64156913
Add target support
...
* Create targets from findlib toolchains by reading findlib configs
* Define targets inside workspace files
* Set cross compilation targets with -x argument
2018-01-01 22:34:41 +08:00
Jeremie Dimino
afb602d7ef
Add add_install_prefix function
...
To control installation prefix
2018-01-01 21:48:25 +08:00
Jeremie Dimino
86dc606fef
Add Utils.install_file
...
Determines the .install depending on the toolchain for x compilation
2018-01-01 21:48:25 +08:00
Jeremie Dimino
5d451e7034
Add cstr_record
2018-01-01 21:48:25 +08:00
Jeremie Dimino
e06c060121
Add module to parse findlib config
...
Necessary to read toolchains
2018-01-01 21:48:25 +08:00
Rudi Grinberg
1a8c328b2d
Make is_directory work when dir doesn't exist
2018-01-01 21:48:25 +08:00
Rudi Grinberg
829b85ec44
Add Path.drop_prefix
2018-01-01 21:48:25 +08:00
François Bobot
9ec6b22066
Merge pull request #379 from janestreet/usexp
...
Replace the S-expression Parser by Usexp
2017-12-22 14:56:22 +01:00
David Allsopp
9d3c0b649c
Fix copy# for Microsoft C compiler
...
Microsoft CL doesn't support #n and requires the more strictly correct
directive #line
Signed-off-by: David Allsopp <david.allsopp@metastack.com>
2017-12-22 08:16:09 +01:00
Jeremie Dimino
3e525d8eec
Vendored usexp and switch to it
2017-12-21 13:13:47 +00:00
Rudi Grinberg
bbb6108924
Fix Path.descendent
...
It was broken for local paths with equal length
2017-12-20 09:06:12 +00:00
Rudi Grinberg
2f8d95cdeb
Merge pull request #373 from rgrinberg/reason-preprocess-fix
...
Reason preprocess fix
2017-12-18 23:25:10 +08:00
Jeremie Dimino
18d8cb847d
Fix the test added in the previous commit
2017-12-18 13:30:49 +00:00
Rudi Grinberg
4570020ce7
Fix reason preprocessing
...
and previously failed test
2017-12-18 20:52:52 +08:00
Anton Bachin
eb05f4f643
Place module list on its own line
...
The markup emitted by Jbuilder treated module lists as inline elements
that can appear inside a line. However, neither ocamldoc nor odoc render
module lists as inline elements. They are instead block elements, that
are laid out vertically, like lists or paragraphs. Correspondingly, odoc
now rejects inline module list markup.
A side effect of the (rejected) misconception is that there was a stray
period appearing on its own line in every module list generated by
Jbuilder. This is now fixed.
2017-12-16 14:27:36 -06:00
Anton Bachin
0aa6faa145
odoc: don't generate raw HTML and level 1 headings
...
This page generation code really should be moved to odoc, however.
2017-12-16 14:07:51 -06:00
Xavier Clerc
2be876cb49
Availability of "num" depends on the OCaml version ( #358 )
2017-12-11 13:05:20 +00:00
Rudi Grinberg
a0c2ed942b
Merge pull request #343 from rgrinberg/fix-ppx-recompile
...
Fix incremental compilation with ppx's
2017-12-02 21:27:04 +08:00
François Bobot
13fed1f1ce
Merge pull request #339 from rgrinberg/fix-jbuilder-exec-utop
...
Fix jbuilder exec from sub dirs & utop
2017-12-01 13:41:21 +01:00
Rudi Grinberg
785beeafac
Add option to force running tests ( #320 )
...
Option to force running tests
The mechanism allows for forcing any alias, but only forcing tests is exposed to the user. Aliases are forced by deleting all the alias files that belong to a particular alias. The option for forcing tests is called --force.
2017-11-28 19:03:22 +08:00
Rudi Grinberg
6f498db212
Fix incremental compilation with ppx's
...
Same fix as 6a3c51c358
but also for ppx's
2017-11-27 21:14:24 +08:00