Commit Graph

974 Commits

Author SHA1 Message Date
Rudi Grinberg a80d70aa26
Merge pull request #462 from rgrinberg/scope-ppx-bug-new-scopes
Fix scoping related ppx bug
2018-01-31 00:55:41 +08:00
Rudi Grinberg 721c80273a Update ppx scope tests 2018-01-31 00:48:58 +08:00
Rudi Grinberg a29f144bc1 Use correct scopes for generating ppx preprocessors
Use the intenral scope whenever there's an internal lib in the preprocessors.
Otherwise use the external scope.
2018-01-31 00:48:58 +08:00
Rudi Grinberg dcb3845fc4 Associate the empty scope name to the anonymous scope 2018-01-31 00:48:58 +08:00
Rudi Grinberg 1013db83b5 Add Lib.public_name 2018-01-31 00:48:58 +08:00
Rudi Grinberg ce65e27045 Add Lib_db.Scope.name 2018-01-31 00:48:58 +08:00
Rudi Grinberg 91f6a67850 Add ability to look up scopes by external name 2018-01-31 00:48:57 +08:00
Jérémie Dimino 963bb6c044
Always use a bytecode boot.exe (#463)
Fix #446
2018-01-30 14:51:51 +00:00
Rudi Grinberg f6cefa40cc
Merge pull request #451 from rgrinberg/scope-refactor
Scope Refactor
2018-01-30 19:25:53 +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
Rudi Grinberg a3ff5e5f30
Merge pull request #368 from rgrinberg/fanout-cleanup
replace double fanout with fanout3
2018-01-29 23:16:06 +08:00
Rudi Grinberg a02b6472e7 replace double fanout with fanout3 2018-01-29 23:13:02 +08:00
Rudi Grinberg 065d2fd9e5
Merge pull request #458 from rgrinberg/remove-dir-from-record-lib-deps
Remove the path argument from Record_lib_deps
2018-01-29 23:05:03 +08:00
Rudi Grinberg aeb186fd3b Remove the path argument from Record_lib_deps
it can always be inferred from when we can construct the rule. But to do that,
we have to pass it along to internal_rule.
2018-01-29 22:53:14 +08:00
Rudi Grinberg a5a0c4c3ae
Merge pull request #454 from rgrinberg/mention-rename-readme
Mention the jbuilder -> dune rename in readme
2018-01-27 16:05:16 +08:00
David Allsopp b6eec7a33d Correct promote-until-clean atom 2018-01-26 16:51:28 +00:00
Rudi Grinberg eeef5bcbd2 Mention the jbuilder -> dune rename in readme 2018-01-26 15:26:00 +08:00
Jérémie Dimino 437211f74f
Expose the promote mode (#437) 2018-01-25 19:07:46 +00:00
Rudi Grinberg 39afb77ee1
Merge pull request #452 from rgrinberg/findlib-exn
Avoid catching wildcard exceptions when calling Findlib.find
2018-01-26 01:07:10 +08:00
Rudi Grinberg 27e31a3196 Avoid catching wildcard exceptions when calling Findlib.find
But to avoid making the catch statements verbose, move all findlib exceptions to
a variant.
2018-01-25 22:00:52 +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
Jeremie Dimino 062cca21e5 Fix #447 2018-01-25 10:13:18 +00:00
Rudi Grinberg 2158063bc7
Merge pull request #448 from Khady/patch-2
doc: fix link to ocaml-cross organization on github
2018-01-25 13:51:52 +08:00
Louis Roché ecccd90196
doc: fix link to ocaml-cross organization on github 2018-01-25 05:40:05 +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
Jeremie Dimino ad9b82e92a Compute the transitive closure of ppx runtime deps only when needed
We only need it when the kind is ppx_rewriter or ppx_deriver.
2018-01-24 18:12:50 +00: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 bf859639ca
Merge pull request #442 from ocaml/fix-odoc-tests
Test custom mld usage in odoc tests
2018-01-24 19:31:36 +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 5e9d5d24e9
Merge pull request #439 from ocaml/jbuilder-to-dune-repos
Replace janestreet/jbuilder with ocaml/dune
2018-01-23 18:10:43 +08:00
Rudi Grinberg 58f9e9840c Replace janestreet/jbuilder with ocaml/dune
Update all links where necessary
2018-01-23 17:52:44 +08:00
Rudi Grinberg 2c845c11eb Date beta 17 release 2018-01-23 17:46:14 +08:00
David Allsopp 6873478307 Display a warning for bad jbuild-ignore lines (#389)
jbuild-ignore should only refer to directories in the current directory
(unlike .gitignore): referring to subdirectories doesn't work.

Signed-off-by: David Allsopp <david.allsopp@metastack.com>
2018-01-23 09:14:22 +00:00
Rudi Grinberg 9be67504c5
Merge pull request #434 from ocaml/update-x-doc
Update urls for the opam-cross-x repositories
2018-01-23 17:09:21 +08:00
Jeremie Dimino ae3832ae90 Update travis URLs 2018-01-23 05:23:19 +00:00
Jeremie Dimino 8bcfbe3ba3 again 2018-01-23 05:22:32 +00:00
Jeremie Dimino 039ba3b71f Update AppVeyor URLs 2018-01-23 05:21:42 +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
Rudi Grinberg 6cce747141 Make odoc work with multiple libraries defined in the same dir 2018-01-23 02:56:23 +08:00
Thomas Refis 815c332dc5 odoc: handle .mld files 2018-01-23 02:56:23 +08:00
Jeremie Dimino 13843f93dd Fix #436 2018-01-22 13:12:29 +00:00
David Allsopp 61b3e5f189 Use /Fo instead of -o when invoking CL
The -o option in the Microsoft C Compiler is deprecated (and has been for
a very long time). The warning is tedious, so use /Fo instead. The only
problem with this is that "-o foo.obj" must become "/Fofoo.obj" with no
space, which requires a little support in Arg_spec.

Signed-off-by: David Allsopp <david.allsopp@metastack.com>
2018-01-22 12:17:28 +00:00
Jérémie Dimino f9837a278b
Detect recursive includes (#435)
Fix #432
2018-01-22 11:32:40 +00:00
David Allsopp d2706b448b Remove readonly attribute on Windows before unlink
The legacy DOS readonly attribute is a tedious difference on Windows,
because a user may have permission to delete a file, but unlink fails
because the attribute is set.

Signed-off-by: David Allsopp <david.allsopp@metastack.com>
2018-01-22 11:14:18 +00:00
Jeremie Dimino 748da3433a Update urls for the opam-cross-x repositories 2018-01-22 09:45:43 +00:00