Rudi Grinberg
727d9688e9
Add tests for (package foo) dependency type
2018-03-19 01:17:31 +08:00
Rudi Grinberg
4a0f4c0ff9
Fix encoding of inline_tests
...
Encode optional fields as records where optional keys that are None will be
omitted in the resultant sexp. This will match reading the keys back with field_o
2018-03-18 22:48:42 +08:00
Rudi Grinberg
7a26c18e20
New odoc rules
2018-03-18 17:44:08 +08:00
Jeremie Dimino
41cdb98e63
Improve sexp tests
2018-03-17 14:23:43 +00:00
Jeremie Dimino
e3f34fab71
Add a test for Usexp.Atom.is_valid
2018-03-17 14:23:43 +00:00
Rudi Grinberg
f39b302a8d
Fix Atom definition of Usexp
...
Fix the is_valid function to only validate atoms that don't contain spaces,
parens, comment characters.
2018-03-17 14:23:43 +00:00
Rudi Grinberg
154b405e51
use str as runner dep
2018-03-17 14:23:43 +00:00
Rudi Grinberg
a8ee7bfad5
Add test witnessing generation of backend dune files
...
It shows that jbuilder fails to correctly escape the action field
2018-03-17 14:23:43 +00:00
Rudi Grinberg
521a36dcef
Merge pull request #603 from diml/universe
...
Allow to depend on the universe
2018-03-14 13:02:23 +07:00
Jeremie Dimino
e2adf9d44a
Allow to depend on the universe
...
Fix #255
2018-03-13 19:12:57 +00:00
Rudi Grinberg
daf95cef09
private/public tests with (optional)
...
Currently, a library marked (optional) will not build if it's public and has a
private dependency.
2018-03-14 02:37:11 +08:00
Rudi Grinberg
54b93c2f85
Fix incorrect line numbers in tests
2018-03-13 10:50:39 +07:00
Rudi Grinberg
12511a68ea
Merge pull request #607 from rgrinberg/private-public-overlap-take2
...
Disallow public/private overlap
2018-03-13 03:39:55 +07:00
Jérémie Dimino
ca5c383b3b
Fix locations reported by the parser ( #609 )
...
The start position of atoms wasn't saved by the parser.
2018-03-12 18:41:49 +00:00
Jeremie Dimino
e57a706960
Use the use-site location for errors from pps
2018-03-12 18:07:05 +00:00
Jeremie Dimino
7e361d596e
Let Report_error print the location for Private_deps_not_allowed
2018-03-12 17:58:54 +00:00
Rudi Grinberg
753badd481
Fix private deps check for ppx runtime dependencies
2018-03-13 00:11:12 +07:00
Rudi Grinberg
b2258b6c98
Remove private/public overlap from meta tests
...
Those will go in their own test
2018-03-12 23:59:52 +07:00
Rudi Grinberg
35da6080e6
Private/Public overlap tests
...
private dependencies aren't allowed in public libraries. These tests
demonstrates that dune accepts them anyway
2018-03-12 22:13:44 +07:00
Jeremie Dimino
cfd4d81be6
Skip object tests for OCaml < 4.06.0
2018-03-12 14:27:44 +00:00
Jeremie Dimino
ff8a53acb7
Extend the syntax of -skip-versions
2018-03-12 14:27:31 +00:00
François Bobot
feba0827b8
Allow to link executables as static or shared objects ( #23 )
...
- Setup the rules to use the `-output-complete-obj` option of OCaml
- Introduce a `best` mode in addition to `byte` and `native`
- Extend the `modes` field of executables to mean "linking modes", and add linking modes for static and shared objects
2018-03-12 11:40:53 +00:00
Jeremie Dimino
5286b42f58
Fix #597
2018-03-10 08:25:45 +07:00
Jeremie Dimino
bc2b740c4c
Add a reproduction case for #597
2018-03-10 08:25:31 +07:00
Jeremie Dimino
f20b43a22b
Strip colors in blackbox tests
2018-03-06 11:01:06 +00:00
Jérémie Dimino
4857ed444a
Reduce interleaving in the scheduler ( #586 )
2018-03-05 17:52:21 +00:00
Rudi Grinberg
5ded45faf0
Merge pull request #584 from rgrinberg/improve-error-modules
...
Improve error in modules partition
2018-03-05 23:47:19 +07:00
Jeremie Dimino
348d2b1a1e
display tweaks
2018-03-05 16:24:24 +00:00
Rudi Grinberg
719cf5eea0
Improve error in modules partition
...
Specify how to fix the error (by writing modules fields)
2018-03-05 23:11:45 +07:00
Rudi Grinberg
dcbfc37666
Add flags field to menhir test
2018-03-05 20:03:36 +07:00
Rudi Grinberg
14d1a4f5e0
META file includes private libraries
...
This is incorrect as those aren't installed
2018-03-04 01:29:27 +07:00
Jeremie Dimino
de99d84f73
Ignore errors while generating the .merlin file
...
Fix #568
Fix #51
2018-03-01 23:34:43 +00:00
Jeremie Dimino
224d627d07
Import the test case for #568
2018-03-01 23:30:01 +00:00
Jeremie Dimino
2e7f881d4c
Fix #567
...
The alias module needs an implementation for non-jbuilder users.
2018-03-01 20:47:08 +00:00
Rudi Grinberg
6dae7ca6ca
Add unit test for configurator
2018-02-28 23:37:27 +07:00
Jeremie Dimino
8fd3335ee8
Make inline tests more reproducible
2018-02-28 11:32:32 +00:00
Rudi Grinberg
60b8c7c968
Update inline tests ( #556 )
2018-02-28 09:34:57 +00:00
Rudi Grinberg
c5da66e156
Use a more unique binary name
...
Use dunetestbar rather than bar as a binary name. The former name is too common
and hence can make the test fail if a bar binary exists elsewhere.
2018-02-28 12:30:19 +07:00
Rudi Grinberg
5ecf354127
Add a sub-system for inline tests ( #547 )
...
To support frameworks such as ppx_inline_test, ppx_expect and qtest
2018-02-27 19:06:12 +00:00
Jérémie Dimino
138c920069
Add support for sub-systems
...
- Add a Sub_system module that allows to register sub-systems
that are implemented in a single file
- Add a Syntax module to deal with versioned syntaxes
Other changes:
- Add location to all library dependencies in jbuild files, to report
properly located errors
- Change the type of functions in Lib to return (_, exn) result
rather than (_, Lib.Error.t With_required_by.t) result, which was
hard to use
- Remove With_required_by.t as it was unused
- Rename With_required_by to Dep_path
- Cleanup a bit the Exe module, move a lot of stuff that was specific to
executable stanzas in gen_rules.ml
- Add String_with_vars.Unexpanded.sexp_of_t
- Rework a bit the code in Lib, in particular factorize the code
for taking the transitive closure of libraries
- Add an ?extra_vars argument to functions that expand variables
in Super_context
- Fix the printing of dependency path
- Merge the handling of dependency path between the build system and
the Lib module
2018-02-26 16:05:48 +00:00
Rudi Grinberg
1cb005bb50
Add a way to customize obj dir for executables
...
Use this function to simplify the obj dir for the utop runner
2018-02-26 01:30:02 +07:00
Rudi Grinberg
b4e0c04368
Revert "Use _utop.ml to avoid creating a separate dir for utop rules"
...
This reverts commit 9ec894eda0
.
2018-02-26 01:30:02 +07:00
Jérémie Dimino
3fd3eb8a12
Split src/import.ml into a new library src/stdune ( #548 )
...
- make sure type t always come first
- Map.map, Map.fold, ... never pass the key to the callback while Map.mapi, Map.foldi, ... do
- removed the ~key and ~data labels, I find them useless and annoying
- Set.elements --> Set.to_list
- Map.bindings --> Map.to_list
- Map.of_alist --> Map.of_list
- added Ordering.t for comparison functions
- renamed Inl/Inr to Left/Right. The latter seems clearer
- moved List.longest to String.longest
- added a Pp module with a nicer API than Format
2018-02-25 16:35:25 +00:00
Jérémie Dimino
4cf7dc558b
Fix generation of the alias module with 4.02 ( #549 )
2018-02-25 12:58:40 +00:00
Rudi Grinberg
9ec894eda0
Use _utop.ml to avoid creating a separate dir for utop rules
2018-02-22 17:34:39 +07:00
Jeremie Dimino
41b5017eb2
Fix #534
2018-02-21 13:35:47 +00:00
Jeremie Dimino
4993c6b89a
Added a test for #534
2018-02-21 13:35:47 +00:00
Jérémie Dimino
2a531c5d24
Detect when a module is used by several stanzas ( #532 )
...
- print a warning
- don't generate several rules for the .d files
- Added tests for multiple rules for .ml.d
2018-02-20 16:44:25 +00:00
Rudi Grinberg
d8e4145dba
Warn instead of error on harmless fake modules
...
E.g. (modules (:standard \ does_not_exist)) is harmless
2018-02-20 20:23:28 +07:00
Rudi Grinberg
7977b8371a
Test case for excluding missing module
...
Setting the field modules as follows (modules (:standard \ foo)) where foo
doesn't exist is an error.
2018-02-20 20:21:34 +07:00