Rudi Grinberg
d19e55bd4d
Rename %{build_profile} to %{profile}
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-02 12:52:48 +07:00
Rudi Grinberg
d53179a56e
Make install tests less verbose ( #936 )
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-01 22:08:13 +01:00
Jeremie Dimino
30db63ef71
Support @@alias to build an alias non-recursively
...
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-01 21:50:44 +01:00
Rudi Grinberg
60c97ab365
disable opam workspace blackbox test
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-01 01:46:32 +07:00
Rudi Grinberg
d229b7811b
Cleanup test by creating dune-project file
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-01 01:46:32 +07:00
Rudi Grinberg
aa981b3206
Fix error message when workspace file doesn't exist
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-01 01:46:32 +07:00
Rudi Grinberg
2b307bfe99
Use Option.some_if when checking for workspace file
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-01 01:46:32 +07:00
Rudi Grinberg
5cbf391a04
Add a test suite for workspaces
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-01 01:46:32 +07:00
Nathan Rebours
23717d1fd6
Drop findlib:x syntax in dune and display an error ( #887 )
...
Signed-off-by: Nathan Rebours <nathan@cryptosense.com>
2018-06-29 21:35:41 +01:00
Jérémie Dimino
7e79e2870d
Make the set language more future proof ( #930 )
...
- forbid list starting by an atom not starting with - or :
- allow to avoid the toplevel parentheses in dune files
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-29 21:11:47 +01:00
Jérémie Dimino
e886e948b7
Add a test where an action modify one of its dependency ( #923 )
...
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-29 12:44:51 +01:00
Jeremie Dimino
2982567639
Make the default build profile be dev
...
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-28 11:23:10 +01:00
Jeremie Dimino
16d34f4a07
Add Which_program to know whether we are dune or jbuilder
...
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-28 11:23:10 +01:00
Jérémie Dimino
9585c8f79d
Move ocamldep output files to the object directory ( #918 )
...
- this avoid the need for the "already_used" business
- this will make it easier to support multi-dir libraries without copy_files
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-28 09:46:20 +01:00
Rudi Grinberg
ec14661a01
Update tests for new variables syntax
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-28 09:48:35 +06:30
Rudi Grinberg
2257a2057b
Add templates to Usexp.t directly
...
Templates are now directly in dune's sexp language. The syntax is change to %{}
from ${} and $(). Old templates are still supported in jbuild files.
Other changes in this PR:
* Removal of ! patterns in variables
* Strict expansion for templates in dune files. Missing vars are now an error
* Using the correct syntax to parse included files in dune
* Improvements to the tests
* Syntax aware pretty printing of sexps. Now you must pass Dune vs. Jbuild to
print sexps
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-28 09:46:10 +06:30
Jérémie Dimino
0f68e56f64
Remove most useless parentheses from the syntax ( #915 )
2018-06-27 16:38:05 +01:00
Jeremie Dimino
f46a6aae53
Make (diff ...) work on Windows
...
- make (diff ...) trailing cr on Win32
- add a (cmp ...) action for comparing binary files
- add a test and run it in AppVeyor
Fix #844
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-25 08:14:27 +01:00
Jérémie Dimino
0eb302252e
Improve the syntax of ppx rewriters and flags ( #910 )
...
- old syntax: (pps (ppx1 -arg1 ppx2 (-foo x)))
- new syntax: (pps ppx1 -arg ppx2 -- -foo x)
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-25 07:56:35 +01:00
Jeremie Dimino
58997d9df7
Present menhir as an extension
...
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-20 16:06:38 +01:00
Jérémie Dimino
94c921f9c4
Rename files_recursively_in to source_tree ( #899 )
...
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-20 10:45:54 +01:00
Jeremie Dimino
41f4b89f85
Added tests for syntax versioning
...
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-19 16:26:27 +01:00
Etienne Millon
96b01c569c
Add link_deps field
...
In some cases, the linking step requires some dependencies. For example,
passing a version script to the linker. The new `(link_deps)` field
uses the dependency DSL already used in other places.
Closes #852
Signed-off-by: Etienne Millon <etienne@cryptosense.com>
2018-06-13 14:38:47 +02:00
Jeremie Dimino
5d6e919f04
Turn warning about modules being used multiple times into errors
...
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-13 11:51:41 +01:00
Jeremie Dimino
de26077d28
Get rid of compatibility symlinks for Dune directories
...
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-13 11:51:41 +01:00
Jeremie Dimino
ef77f83cec
Add dune-project file to js_of_ocaml test
...
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-12 12:09:11 +01:00
Jeremie Dimino
250b940c32
Start of support for languages and extensions
...
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-12 12:09:11 +01:00
Jérémie Dimino
3cf2a0dab1
Add dune-project files to dune tests and remove old jbuild_version stanzas ( #875 )
...
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-12 09:49:39 +01:00
Jérémie Dimino
58a47e4ff8
Set dune language version to 1.0 ( #873 )
...
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-11 16:17:22 +01:00
Rudi Grinberg
d864e8ca6a
Add test for behavior of templates and arguments with spaces
...
(echo "${read:foo bar}") vs. (echo ${read:foo bar}) handles the argument
differently
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-10 21:40:44 +07:00
Etienne Millon
673397a1b9
Display the installable modes
...
Signed-off-by: Etienne Millon <etienne@cryptosense.com>
2018-06-07 15:40:45 +02:00
Etienne Millon
9c2e4f14e0
Display an error when no installable mode is found
...
If an executable is only available as a shared object for example,
Dune cannot install it. In that case, it displays an error message.
However, it is still possible to build a private one explicitly.
Signed-off-by: Etienne Millon <etienne@cryptosense.com>
2018-06-07 15:17:34 +02:00
Rudi Grinberg
724acc8c7c
Allow libraries in a package to reference each other in odocs
...
This allows for circular dependencies for libraries in the same package
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-07 17:59:43 +07:00
Rudi Grinberg
51ec4a0dc6
Update tests
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-07 17:59:43 +07:00
Rudi Grinberg
da43480dfc
Fix html generation for private libs
...
private-doc should collect html rather than odoc aliases
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-07 17:59:43 +07:00
Rudi Grinberg
abfa90b5a7
Update tests
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-06 23:44:14 +07:00
Rudi Grinberg
bdeef73c29
Add test for proper concatenation
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-06 23:42:34 +07:00
Jeremie Dimino
124d942310
s/jbuild/dune/ in misc test
...
Signed-off-by: Jeremie Dimino <jdimino@janestreet.com>
2018-06-06 23:42:33 +07:00
Rudi Grinberg
9221b1ed6c
Change echo to be variadic
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-06 23:42:33 +07:00
Rudi Grinberg
eab7c46bdb
Add flag to allow/disallow multivalue expansions
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-06 23:42:33 +07:00
Rudi Grinberg
69c0ab48ce
Add test for concat_or_split
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-06 23:41:57 +07:00
Jérémie Dimino
bb7827a7b2
Make the output of Dune deterministic in tests ( #855 )
...
When the root is not the cwd, print a relative path for the "Entering
..." line rather than an absolute one.
Signed-off-by: Jeremie Dimino <jdimino@janestreet.com>
2018-06-06 16:25:04 +01:00
Jeremie Dimino
ec6ca4be67
Refactor handling of backend selection errors + add tests
...
Signed-off-by: Jeremie Dimino <jdimino@janestreet.com>
2018-06-05 19:19:10 +01:00
Jeremie Dimino
898a2ffa02
Update gen-opam-install-file test
...
Signed-off-by: Jeremie Dimino <jdimino@janestreet.com>
2018-06-05 19:19:10 +01:00
Jeremie Dimino
b5dfb826ef
Restore old ppx behavior for directories with jbuild files
...
Signed-off-by: Jeremie Dimino <jdimino@janestreet.com>
2018-06-05 19:19:10 +01:00
Jeremie Dimino
ed583b7651
Add List.assoc
...
Signed-off-by: Jeremie Dimino <jdimino@janestreet.com>
2018-06-05 19:19:10 +01:00
Jeremie Dimino
b35fbbd7b2
Abstract the ppx driver system
...
- remove hard-coded knowledge of ocaml-migrate-parsetree and ppx_driver
- get the exact driver parameters directly from the driver itself
Signed-off-by: Jeremie Dimino <jdimino@janestreet.com>
2018-06-05 19:19:10 +01:00
Jeremie Dimino
23a9c65ade
make promote
...
Signed-off-by: Jeremie Dimino <jdimino@janestreet.com>
2018-06-04 16:26:13 +01:00
Jeremie Dimino
5b01ed8246
Add support for block strings
...
Signed-off-by: Jeremie Dimino <jdimino@janestreet.com>
2018-06-04 13:57:27 +01:00
Rudi Grinberg
077df76f6d
Add a ppx rewriter example for the generated install file ( #850 )
...
Add an example using jbuild and dune files.
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-04 12:08:20 +01:00
Rudi Grinberg
be7e3d6dfc
Implement --build-dir and change Path.t to use symbolic paths
...
The motivation for this change is implement the --build-dir feature. This
feature lets us control the build directory which previously always defaulted to
_build. To accomplish this, Path.t had to be modified to be:
External of External.t | In_source_tree of Local.t | In_build_dir of Local.t
To represent the 3 kinds of paths dune is dealing with. The In_build_dir
constructor in particular, is relative to Path.root or some external path.
A few other refactorings had to be done to support this transition:
* The workspace is now "settable". This means that we no longer have to pass it
explicitly when converting local to absolute paths.
* Path.is_local no longer makes sense and is renamed to Path.is_managed.
Roughly, is_managed identifies paths in the build and source directories.
* Path.absoulte has been renamed of_filename_relative_to_initial_cwd
* Path.Local.root is now "." (as opposed to "")
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-02 18:14:44 +07:00
Rudi Grinberg
d17292f6cd
Add quoted case to quoting test
...
When ${@}, the current behavior should be preserved
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-01 16:49:12 +07:00
Rudi Grinberg
b057c40668
Merge branch 'master' into add-classical-ppx-test
2018-05-31 10:43:22 +07:00
Rudi Grinberg
0677c2d79c
Add test for using a dune library with ocamlfind
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-05-30 15:39:58 +07:00
Rudi Grinberg
939341af16
Add test for classical ppx
...
Test that generated META can be used by ocamlfind
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-05-30 14:59:37 +07:00
Rudi Grinberg
8f16afe293
Fix merlin generation
...
The optional build contexts were being dropped from the obj dirs instead of the
source dirs.
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-05-30 14:39:47 +07:00
Rudi Grinberg
88e71c3432
Speed up merlin generation ( #805 )
...
Improve merlin generation by minimizing intermediate strings and reusing a buffer.
2018-05-26 11:04:21 +07:00
Anil Madhavapeddy
b2dd904847
odoc: make indexes work with the development version of odoc
...
We now generate library titles at level 2 instead of level 1,
and remove trailing fullstop after the `modules` entry.
The development branch of odoc has a more precise parser that
enforces that there is only a single title level field in the
generated odoc.
Closes #791
Signed-off-by: Anil Madhavapeddy <anil@recoil.org>
2018-05-23 10:59:19 +01:00
Rudi Grinberg
a6f2b5be9b
Fix exception to be friendly when loc is available
...
When the loc is available, the error is likely because of an ill-defined user
rule. We should simply reflect the location back to the user.
2018-05-20 13:22:59 +07:00
Rudi Grinberg
b1be607b9b
Reproduce stack trace leaking out to user
2018-05-20 13:14:24 +07:00
Rudi Grinberg
da827f7946
Merge pull request #769 from rgrinberg/fix-764
...
Detect circular sym links
2018-05-16 21:58:22 +07:00
Jeremie Dimino
58de56ad0d
Remove useless call
2018-05-16 15:19:04 +01:00
Jeremie Dimino
62997d6676
fix
2018-05-16 15:18:36 +01:00
Jeremie Dimino
2cf1631730
Try again
2018-05-16 15:15:45 +01:00
Jeremie Dimino
46479fd083
Try to make tests pass in Travis
2018-05-16 14:40:21 +01:00
Jeremie Dimino
2192a549f4
Use dev/inode to detect loops
2018-05-16 14:23:01 +01:00
Jeremie Dimino
3a2e136e5c
Add a more complex test
2018-05-16 13:54:12 +01:00
Jeremie Dimino
2033b34983
Update tests
...
- remove tests that were creating files outside the test directory
- add tests with cycles longer than 1
2018-05-16 13:12:45 +01:00
Jérémie Dimino
95d9cf0415
Refactor Jbuild.Scope_info.Name and Dune_project.name ( #775 )
2018-05-15 14:07:02 +01:00
Rudi Grinberg
241ec87a2b
Add test for symlinking outside workspace
2018-05-15 19:42:33 +07:00
Rudi Grinberg
c9916f4a76
Add some more test cases for symlinks
2018-05-15 17:33:51 +07:00
Rudi Grinberg
c1f81bef64
Add test for #764
2018-05-15 17:33:27 +07:00
Jérémie Dimino
bc19e14b35
Add ignored_subdirs stanza ( #767 )
2018-05-12 15:38:22 +02:00
Jeremie Dimino
bffd5407ce
Fix #734
2018-05-10 11:31:39 +01:00
Jeremie Dimino
30d05eb4f1
Add test for #734
2018-05-10 11:31:39 +01:00
Jeremie Dimino
ef7a5519aa
Fix #761
2018-05-10 11:27:56 +01:00
Jeremie Dimino
ba78e05d95
Add a test for #761
2018-05-10 11:27:56 +01:00
Jeremie Dimino
7c1e1923a0
Fix #759
2018-05-09 16:32:35 +01:00
Jeremie Dimino
4ffa88726a
Add a test for #759
2018-05-09 16:21:01 +01:00
Rudi Grinberg
8eba040b92
Rename Alias.of_path to Alias.of_user_written_path
...
And add a loc argument for correct error messages
2018-05-09 08:05:57 +07:00
Rudi Grinberg
76c1a32da4
Add tests for invalid alias paths
2018-05-09 08:05:57 +07:00
Jérémie Dimino
4d8ca489be
Add support for environment & build profiles ( #419 )
2018-05-04 16:49:25 +01:00
Jeremie Dimino
adde723702
Update tests
2018-05-04 12:26:26 +01:00
Jeremie Dimino
dabb77eb09
Rename all jbuild.inc files
2018-05-04 12:26:26 +01:00
Jeremie Dimino
dc0a6d4401
Rename all jbuild files
2018-05-04 12:26:26 +01:00
Jérémie Dimino
325584adfc
Renaming to Dune ( #721 )
...
- install two identical binaries: jbuilder and dune
- rename the man pages to dune-*
- change the name in man pages
- change the name of libraries
- add support for dune-project files and add a dune-project file
- add support for dune-workspace files
- start updating the manual
- update the tests
2018-05-02 12:56:12 +01:00
Rudi Grinberg
7b17fa013f
Fix #717
...
Extensions should be removed from the map of basenames to mld paths
2018-04-29 00:52:29 +07:00
Rudi Grinberg
575cbce699
Add test showing odoc failure with index.mld
2018-04-29 00:34:53 +07:00
Rudi Grinberg
40631805ef
Multiple private libs requires odoc
2018-04-27 23:30:42 +07:00
Rudi Grinberg
f84550b98a
Tag jsoo and utop tests as taking externals
2018-04-27 21:34:48 +07:00
Jérémie Dimino
8796df8a74
Fix flags in output-obj test ( #728 )
2018-04-26 18:47:20 +01:00
Rudi Grinberg
c406a51bb3
Fix github25 tests
2018-04-26 11:46:14 +01:00
Rudi Grinberg
f8c348983e
Skip <4.06.0 for output-obj
2018-04-26 11:46:14 +01:00
Rudi Grinberg
be3840005e
Generate blackbox tests
...
Generate these tests from the listing of directories. This allows us to
effectively mark which tests are not working in certain conditions/platforms.
2018-04-26 11:46:14 +01:00
Rudi Grinberg
7820e29d28
Port Io to use Path.t
2018-04-25 03:25:27 +07:00
Jeremie Dimino
dfbb609d39
Update output-obj tests
2018-04-24 13:51:57 +01:00
Rudi Grinberg
709385ed66
Don't rely on "ext_exe" always being present
...
It's not present in older OCaml, so we need to guess the ext_exe ourselves.
2018-04-20 17:32:48 +07:00
Rudi Grinberg
13eea737f9
Don't use getenv_opt in configurator test
2018-04-20 17:32:37 +07:00
Rudi Grinberg
6819749550
Remove -ocamlv arg from cram tests
...
The ocamlc config is passesd courtesy of configurator anyway
2018-04-18 23:14:32 +07:00
Rudi Grinberg
ab50461741
Make extensions portable in cram output
...
With some really ugly post processing
2018-04-18 21:21:09 +07:00