Commit Graph

101 Commits

Author SHA1 Message Date
Jérémie Dimino f618096d6e
Add a test for dependency cycles (#475) 2018-02-01 13:05:32 +00:00
Rudi Grinberg e61142e885
Merge pull request #460 from ocaml/fix-promote-tests-on-osx
Fix bad interaction between promotion and incremental builds on OSX
2018-02-01 20:15:18 +08:00
Jeremie Dimino b9c4dd2339 Remove files from the digest cache when promoting them.
This is to avoid problems with incremental compilation on OSX.

Fix #456
2018-02-01 08:23:25 +00:00
Rudi Grinberg 3646e554a9 Add tests of js_of_ocaml flag
Make sure that adding js runtime files reflects correctly in the META and
.install files
2018-02-01 04:31:18 +08:00
Rudi Grinberg 721c80273a Update ppx scope tests 2018-01-31 00:48:58 +08:00
Rudi Grinberg 672120b3b8 Introduce explicit scopes for Lib_db
This commit introduces explicit scopes in Lib_db and refactors dune to use these
scopes where appropriate. Briefly, they are appropriate whenever we previously
used a directory to resolve the scope with Lib_db.find ~dir and friends. So a
Lib_db.Scope.t replaces a (dir, Lib_db.t) pair.

This allows to be explicit about the anonymous and external scope. Which is
important when building ppx drivers.

We also harmonize the error handling with the Findlib module. In both cases
we use a flat string list of errors. Rather than the more specific type we had
before in Findlib.
2018-01-30 19:21:40 +08:00
Jérémie Dimino c066efd196
Add the transitive dependencies of used ppx rewriters (#450) 2018-01-25 11:22:50 +00:00
Rudi Grinberg eac036a446 Add another test case for meta generation (#449)
A library that has been pp'd with a preprocessor that has runtime deps
2018-01-25 10:21:37 +00:00
Rudi Grinberg 2eb45c4ae3 Test case to reproduce scope bug when building ppx
The scope selected when building the ppx is bogus (it corresponds to the
directory with the ppx exe).
2018-01-25 12:20:00 +08:00
Rudi Grinberg fde877838b
Merge pull request #444 from rgrinberg/reproduce-scope-bug
META generation bug in different scopes
2018-01-24 19:32:12 +08:00
Rudi Grinberg ab18b13a04 Fix META generation wrt scope
We should respect the scope of the current internal library to generate the META
2018-01-24 16:32:10 +08:00
Rudi Grinberg d6601bf2bb META generation bug in different scopes 2018-01-24 16:09:38 +08:00
Rudi Grinberg 3b3f8afb4d Improve odoc tests to use mld file 2018-01-24 00:05:52 +08:00
Jérémie Dimino ba5ffbc414
Fix meta generation for ppx runtime deps (#441)
Use the transitive closure for the deprecated ppx method
2018-01-23 16:03:59 +00:00
Rudi Grinberg a34f71f922
Merge pull request #410 from rgrinberg/new-odoc-minimal
New odoc rules (minimal)
2018-01-23 02:58:06 +08:00
Rudi Grinberg d2af91091c Update odoc tests
These now work for libs defined in the same dir
2018-01-23 02:56:23 +08:00
Jérémie Dimino f9837a278b
Detect recursive includes (#435)
Fix #432
2018-01-22 11:32:40 +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 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
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
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
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 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 e28344a24b
Do not use the transitive closure in generated META files (#405) 2018-01-12 16:41:23 +00:00
Rudi Grinberg f490540538 Update tests for linting 2018-01-10 22:45:50 +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 f68c1dd042 Add blackbox test for cross compilation 2018-01-01 22:34:41 +08:00
Rudi Grinberg 6422cd606d Add test for sub library in sub dir
Makes sure that that directory option is used appropriately in the META
2017-12-28 16:03:44 +08:00
Rudi Grinberg dfe0001b5a Simple stubs test
C stub library and executable that will run it
2017-12-23 11:29:41 +08:00
Rudi Grinberg 7d8ca23b62 Test install_c_headers stanza 2017-12-23 11:25:05 +08:00
Rudi Grinberg 5e890ccd67
Merge pull request #382 from rgrinberg/no-empty-modules
Add dummy module to make copy_files test pass on 4.02.3
2017-12-23 11:03:53 +08:00
Rudi Grinberg 7363c772aa Add dummy module to make copy_files test pass on 4.02.3 2017-12-22 21:18:17 +08:00
Rudi Grinberg a3806d7e3b Add utop tests 2017-12-22 19:31:25 +08:00
Rudi Grinberg f365e8f157 Improve copy_files test for c files to make sure source is tracked 2017-12-22 08:16:09 +01:00
David Allsopp 5901d7dee3 Update copy_files blackbox test to include C
Tests that the the directive emits #line instead of #n.

Signed-off-by: David Allsopp <david.allsopp@metastack.com>
2017-12-22 08:16:09 +01:00
Rudi Grinberg 2025f1db58 Improve reason tests
Test that modules are actually built by running their code.
2017-12-21 20:20:43 +08:00
Rudi Grinberg 3ac73edb42 move copy-sources for reason tests to own dir
So that the originals aren't used accidentally
2017-12-20 17:23:26 +07: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 9e4390ddc4 Add tests Path.descendent
Some of them are failing because it it doesn't work when the paths are equal or
have the same length
2017-12-20 09:06:12 +00:00
Rudi Grinberg 347c3d7612 disable ppx_runner test with custom omp runner args 2017-12-19 19:05:37 +07:00
Rudi Grinberg 1793827d0b Tests for running ppx rewriters
Testing changing and interacting with drivers by passing arguments.
2017-12-19 19:00:50 +07:00
Rudi Grinberg 3cae475486
Add some reason tests wrt to ppx preprocessing (#375)
Add some reason tests wrt to ppx preprocessing
2017-12-19 19:49:06 +08: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 d661f74c46 Skip 4.02.3 for the multiple-private-libs test 2017-12-18 13:30:49 +00:00
Jeremie Dimino 18d8cb847d Fix the test added in the previous commit 2017-12-18 13:30:49 +00:00
Jeremie Dimino f534387ef6 Add a test exposing a name clash
When several private libraries have the same name, jbuilder crashes.
2017-12-18 13:30:49 +00:00