Jeremie Dimino
321543a56b
Update usexp
2018-01-19 22:41:30 +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
Hao Wu
1c8ca6718c
format tweak ( #424 )
2018-01-18 17:41:12 +00:00
Rudi Grinberg
326ca5413a
Merge pull request #422 from rgrinberg/skip-reason-tests
...
Disable reason tests for now
2018-01-18 21:12:19 +08:00
Jeremie Dimino
ec1a88db98
Update changelog
2018-01-18 11:36:36 +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
Rudi Grinberg
ec5fac8085
Disable reason tests for now
...
Current version of reason doesn't install on travis
2018-01-18 06:20:33 +08:00
hhugo
9347d4a767
tailrec split_lines ( #416 )
2018-01-17 13:34:53 +00:00
Anil Madhavapeddy
8c403c467f
docs: fix typos in manual
2018-01-17 08:17:55 +00:00
Jeremie Dimino
878e0ce31f
Update changelog
2018-01-16 13:43:02 +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
Rudi Grinberg
3fea0db9cd
Merge pull request #409 from janestreet/alias-refactor
...
Alias/Action refactorings
2018-01-13 20:03:26 +08: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
Anil Madhavapeddy
528d8987a5
Add link to jbuilder-universe in the README ( #406 )
2018-01-12 15:54:59 +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
9ed300e5a2
Merge pull request #359 from rgrinberg/lint2
...
Implement lint field and run linting with @lint alias.
2018-01-11 00:01:25 +08:00
Rudi Grinberg
f490540538
Update tests for linting
2018-01-10 22:45:50 +08: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
Rudi Grinberg
5dd8d028ae
Improve reason tests
...
* Test that modules are actually built by running their code.
* Make reasonlypp to also be a linter
* Make the reason only pp double as linter When ran with the -lint flag
2018-01-10 02:15:17 +08:00
Jeremie Dimino
469079f9c6
Connect usexp errors to the error reporter
...
Fix #384
2018-01-09 09:55:01 +00:00
Rudi Grinberg
5cb909bb80
Merge pull request #380 from rgrinberg/yy
...
Cross Compilation
2018-01-01 22:47:44 +08:00
Jeremie Dimino
f68c1dd042
Add blackbox test for cross compilation
2018-01-01 22:34:41 +08:00
Jeremie Dimino
ce567be675
Update changelog
2018-01-01 22:34:41 +08: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
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
Rudi Grinberg
1de1ced82b
Merge pull request #388 from rgrinberg/sub-lib-sub-dir
...
Add test for sub library in sub dir
2017-12-28 16:38:35 +08:00