Rudi Grinberg
320154ef87
italicize running
2018-04-11 23:50:16 +07:00
Rudi Grinberg
fb0ac48af2
Documentation for new configurator
2018-04-11 22:14:53 +07:00
Matthieu Dubuget
9aba597f5f
Update documentation.rst ( #656 )
...
Typo
2018-03-27 10:54:09 -04:00
Rudi Grinberg
10ff816faf
Merge pull request #641 from rgrinberg/move-readme-manual
...
Move FAQ & Known Issues to manual
2018-03-21 00:14:17 +08:00
Rudi Grinberg
95a617ec63
Remove old api-doc page
...
And incorporate it into the new documentation page
2018-03-20 23:25:24 +08:00
Rudi Grinberg
67d0c03a54
Move FAQ & Known Issues to manual
...
These sections are valid parts of the manual and just clutter up the current
README
2018-03-20 22:47:36 +08:00
Rudi Grinberg
86f918df71
Clarify about index.mld
...
This isn't odoc specific
2018-03-20 08:22:19 +08:00
Rudi Grinberg
24a0604249
Clarify hand written vs. additional pages
2018-03-20 08:16:30 +08:00
Jeremie Dimino
45fa214314
typo
2018-03-18 19:17:15 -04:00
Rudi Grinberg
0f2cf323df
Fix the title of tests.rst
2018-03-19 03:32:55 +08:00
Jeremie Dimino
f26615e5b3
doc
2018-03-19 01:24:27 +08:00
Rudi Grinberg
73231bf13e
Add documentation documentation
2018-03-18 18:24:40 +08:00
Jeremie Dimino
e2adf9d44a
Allow to depend on the universe
...
Fix #255
2018-03-13 19:12:57 +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
Jérémie Dimino
1feab6b2a6
Allow to specify additional libraries for the test runner ( #600 )
2018-03-09 19:51:02 +00:00
Jeremie Dimino
cc845e5fdb
Make all variables accessible in jbuild files
2018-03-07 09:40:08 +00:00
Jeremie Dimino
d415ed5f6c
Expose a few more variables
2018-03-07 09:40:08 +00:00
Jeremie Dimino
232acdd92f
Libraries and executables can allow overlapping dependencies
2018-03-06 12:59:01 +00: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
Saswat Padhi
af76ecb6a0
Fixed a small typo
2018-02-21 20:29:48 -08:00
Christophe Troestler
75ad9736f8
Move usexp in src/ as it diverged from parsexp
2018-02-15 00:43:08 +01:00
Christophe Troestler
4ddb268b39
Update the documentation for quoted strings
2018-02-15 00:43:08 +01:00
Jérémie Dimino
b3838284c6
Better support for mli/rei only modules ( #489 )
2018-02-08 10:12:46 +00:00
Jeremie Dimino
3347d4d59f
Regenerate doc/jbuild
2018-02-07 12:11:27 +00:00
Jérémie Dimino
0570e09f9a
Add a configuration file and a quiet mode ( #490 )
2018-02-07 11:38:21 +00:00
Jérémie Dimino
437211f74f
Expose the promote mode ( #437 )
2018-01-25 19:07:46 +00:00
Louis Roché
ecccd90196
doc: fix link to ocaml-cross organization on github
2018-01-25 05:40:05 +00:00
Rudi Grinberg
58f9e9840c
Replace janestreet/jbuilder with ocaml/dune
...
Update all links where necessary
2018-01-23 17:52:44 +08:00
Jeremie Dimino
748da3433a
Update urls for the opam-cross-x repositories
2018-01-22 09:45:43 +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
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
Anil Madhavapeddy
8c403c467f
docs: fix typos in manual
2018-01-17 08:17:55 +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
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
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
a265889400
Mention ppxfind in docs ( #357 )
2017-12-11 19:40:54 +08:00
Ian Denhardt
b5ba49d9b4
Clarify use of the .exe extension
...
.exe for executables is usually a windows-only convention; this threw me
for a moment and it seems worth calling out that this isn't platform
dependent.
2017-10-25 15:10:32 -04:00
Rudi Grinberg
a63276f5b3
Merge pull request #268 from janestreet/new-alias-semantic
...
Sort out recursive/non-recursive aliases
2017-10-19 15:33:23 +08:00
Rudi Grinberg
f9025a401a
Document utop command
2017-10-14 18:50:37 +08:00
Jeremie Dimino
8466924a73
Update doc
2017-10-14 10:37:36 +08:00
Rudi Grinberg
97511eb77b
fix header for "running tests"
2017-10-10 16:15:50 -04:00
Jeremie Dimino
5de73ca740
Add support for locks in rules
...
This is to allow users define more complicated tests without having
to resort to -j1.
2017-09-29 12:20:08 +01:00
Jeremie Dimino
50cbbe2ac5
Add ${path-no-dep:...}
...
To be able to resolve path names that are not dependencies.
2017-09-29 11:55:23 +01:00
Jeremie Dimino
8383a00e4c
Generate man page for 'jbuilder utop'
2017-09-29 11:28:01 +01:00
Jeremie Dimino
cc0bf2dfb7
Rephrase the doc for (merlin) in jbuild-workspace
...
Related to #257
2017-09-22 12:20:22 +01:00
Jeremie Dimino
157e4d6548
Print "Entering directory '...'" when necessary
...
When the root of the workspace is not the current directory, print:
Entering directory '<absolute path to root>'
This way editors such as emacs or vim knows how to interpret filenames
reported by the compiler.
Fixes #138
2017-09-22 01:59:45 +01:00
Jeremie Dimino
b2e7720b41
Interpret empty jbuild-workspace files as default configuration
...
If a workspace file is empty, interpret it the same as if it contained:
(context default)
As discussed in #234
2017-09-22 01:59:45 +01:00
Jeremie Dimino
47d1f74ef0
Explain the difference between copy_files and copy_files#
2017-09-10 02:39:34 +01:00
François Bobot
cecf0a2aaf
Add (copy_files <glob>) stanza ( #35 )
...
Add (copy_files <glob>) and (copy_files# <glob>) stanzas. These
stanzas setup rules for copying files from a sub-directory to the
current directory.
This provides a reasonable way to support multi-directory
library/executables in jbuilder.
2017-09-10 02:31:07 +01:00
Jeremie Dimino
297e82061e
Update_file --> Write_file
...
The difference is not meaningful anymore. Also expose Write_file as
write-file.
2017-08-17 15:13:11 +01:00
Jérémie Dimino
6bed864057
Better behavior when the targets of a rule already exist in the source tree ( #218 )
...
Warn when a file is both present in the source tree and generated by
a rule. Before, jbuilder would silently ignore the rule. One now has
to add a field `(fallback)` to custom rules to keep the current
behavior.
2017-08-15 11:16:11 +01:00
Nicolás Ojeda Bär
3b1182c23a
Fix typos
2017-08-15 07:32:17 +01:00
Jeremie Dimino
b913a42739
Fix documentation about library dependencies
2017-08-08 13:56:28 +01:00
Jeremie Dimino
06b47a73f6
Do not accept per_file anymore
...
It was renamed per_module and it is planned to reuse per_file for
another purpose.
2017-08-04 09:24:02 +01:00
David Allsopp
13b0eb9f2b
Convert link_flags to the ordered set DSL
2017-08-03 17:28:32 +01:00
David Allsopp
ec29651cff
Extend (:include ) form to js_of_ocaml flags
2017-08-03 17:28:32 +01:00
David Allsopp
cebbb219e7
Extend (:include ) form to OCaml flags
...
flags, ocaml_flags and ocamlopt_flags now support the (:include ) form
of the ordered set language.
2017-08-03 17:28:32 +01:00
Jeremie Dimino
cfd43d5282
Simplify a bit the rules for installation of library files
2017-07-25 17:07:24 +01:00
François Bobot
44a15bcd24
Fix documentation for `--libdir`
2017-07-25 16:44:14 +01:00
François Bobot
747cf220c6
Install by specifying libdir for opam-installer
...
- change default findlib directory (ocamlc -where)
2017-07-25 16:44:14 +01:00
Jeremie Dimino
4b40cad247
Revert public_interfaces for now
...
The code to support it is starting to become increasingly complicated
and the number of problem found is a bit alarming.
We'll reinclude it later after a bit more testing and hopefully some
simplifications.
2017-07-21 17:32:39 +01:00
Jeremie Dimino
9893c14500
Fix some problems related to public_interfaces
...
The dependencies on library artifacts are now properly setup to point
to the files in _build/install/...
Moreorver, private interfaces are now only visible inside the library
itself and are only allowed for private libraries. When a project
defines multiple packages, this ensures that the visibility when all
packages are built simultaneously and when they are installed one by
one.
We can relax these restrictions later with a bit more work and a clear
definition of where private modules should be visible.
2017-07-21 16:52:28 +01:00
Jeremie Dimino
2b93f960b6
Doc tweaks
2017-07-19 15:31:17 +01:00
François Bobot
a3933a2c18
Add public_interfaces selection for libraries ( #106 )
...
Add a field "public_interfaces" to library stanza listing which modules are public.
Private modules won't be accessible outside the scope where the library is defined.
2017-07-19 15:26:48 +01:00
Egor Panfilov
15f2687f0f
Added missing parenthesis in quickstart
2017-07-16 13:56:48 +03:00
Anton Bachin
63b63eb0ac
Fix typos
2017-06-17 12:06:58 -04:00
Tim McGilchrist
a9f7166a2a
Spelling
2017-06-16 14:20:06 +10:00
Jeremie Dimino
daeb40b087
Add SCOPE_ROOT
...
While analysing packages using jbuilder, I found that some packages
use ${ROOT} to refer to the root of the project. However, this doesn't
work as ${ROOT} depends on the workspace configuration.
Add ${SCOPE_ROOT} to make this easier for projects with a lot of
nested sub-directories.
2017-06-09 12:45:05 +01:00
Jeremie Dimino
eb7b5e2be4
Help users to not use non-future proof features in jbuild files
2017-06-08 11:33:59 +01:00
Jeremie Dimino
e4300e7b51
Make (run prog ...) behave the same as (run ${bin:prog} ...)
...
This just seems like a better default
2017-06-08 10:37:25 +01:00
Jérémie Dimino
2e2a707d4b
Automatically install executable with extension `.exe` on Windows ( #123 )
...
- Automatically add exe extension when installing executables
- Look for local binaries with .exe extension on Windows
2017-06-08 09:59:43 +01:00
Jeremie Dimino
0cea06b5d2
Fix #125
2017-06-06 14:59:21 +01:00
Jeremie Dimino
e51002d1b7
Restrict what one can do with the OCaml syntax
...
Until we decide in what direction it should go.
2017-06-06 10:23:22 +01:00
Anil Madhavapeddy
d279e1e25d
docs: remove an extra set of brackets from the `select ... from` ( #121 )
...
Looks like the right syntax is `(select foo from (x -> y) ( -> y))`
from the example use in js_of_ocaml/compiler
2017-06-05 16:16:49 +01:00
Jeremie Dimino
2be5e593d6
rework the documentation of scopes
2017-06-05 12:33:45 +01:00
Jeremie Dimino
a392b59fcd
copy-and-add-line-directive --> copy#
2017-06-05 12:11:39 +01:00
Jeremie Dimino
a677a6077e
Add a note about byte-code executables ( #108 )
2017-06-02 18:54:45 +01:00
Jeremie Dimino
9eb215055e
Remove the use of (foreach ...) in doc/jbuild
2017-06-02 18:25:20 +01:00
Jeremie Dimino
a7446ec7d3
per_file --> per_module
2017-06-02 17:58:20 +01:00
Jeremie Dimino
fd76d7b9a9
Remove (ml_of_mli ...) and (re_of_rei ...)
...
Instead make jbuilder print the rule to do the same in the warning
message. The rule is not that big. Also add a note about mli only
modules in the "Known issues" section of the README.
This avoids polluting the jbuild specification and is still a
reasonable solution until someone implements proper support for mli
only modules in the compiler.
2017-06-02 13:17:28 +01:00
Jeremie Dimino
7dc30d1184
Document `jbuilder subst` in the manual
2017-06-02 11:59:14 +01:00
Jeremie Dimino
5e06daa5b2
Rename (do ...) to (rule ...)
2017-06-01 16:53:55 +01:00
Rudi Grinberg
f98072deb7
Doc tweaks ( #112 )
...
* Fix a link and some typos
* Fix some crappy formatting introduced by the pandoc conversion.
* Use more subheadings rather than points.
2017-06-01 16:02:29 +01:00
Jeremie Dimino
827aac0e43
Fix doc for (preprocess (per_file ...))
2017-06-01 11:19:59 +01:00
Jeremie Dimino
1c8ffaa3aa
Check that no targets are generated outside of the current dir
2017-05-31 10:34:17 +01:00
Jeremie Dimino
419df111bf
Update doc
2017-05-30 17:10:50 +01:00
Jeremie Dimino
5167dd2f16
Document the (<file> as <destination>) syntax
2017-05-30 12:27:20 +01:00
Jeremie Dimino
a8a43e4b22
Add ${!^} and ${!@} and document them
2017-05-29 19:12:37 +01:00
Jeremie Dimino
3241026fff
Update doc
2017-05-29 18:55:39 +01:00
Jeremie Dimino
65a54f405b
Add an example to build a toplevel
2017-05-29 14:31:36 +01:00
Jeremie Dimino
9f8803af67
Add (modes ...) for executables
2017-05-29 14:18:07 +01:00
Jeremie Dimino
df3ac59d72
Clarify availability of native compilation
2017-05-29 13:18:55 +01:00
Jeremie Dimino
9dda44d65d
Add a comment in the jbuild of the hello_world example
2017-05-29 10:32:36 +01:00
Jeremie Dimino
3d3b10d6a7
executables --> executable in the quick start
2017-05-29 10:31:42 +01:00
Jeremie Dimino
052dda3177
Add a comment about jbulder and findlib predicates
...
CLoses #96
2017-05-29 10:26:37 +01:00
Jeremie Dimino
82ecbcf64a
Update the doc
2017-05-29 10:05:04 +01:00
Jeremie Dimino
5372ebdea1
Remove jane_street version
...
It's not used. We'll re-add it if really necessary.
2017-05-29 09:54:56 +01:00
David Allsopp
9e81f887de
Document the comment symbol in jbuild files
2017-05-29 08:54:50 +01:00
Hezekiah M. Carty
3d194c5276
Minor typos
2017-05-29 08:51:44 +01:00
Jérémie Dimino
f1ebc0ed7d
Add (mli-to-ml ...) as a hack for mli only modules
2017-05-29 07:51:52 +01:00
Jérémie Dimino
c6cc8204bf
Add (foreach ...) form
2017-05-29 07:51:52 +01:00
Markus Mottl
e63a6e4006
Command typo
2017-05-27 20:18:19 -04:00
Jeremie Dimino
15491fd599
Document API doc
2017-05-26 18:34:49 +01:00
Richard Davison
91d03de221
Add clean subcommand ( #89 )
2017-05-26 11:32:32 +01:00
Marek Kubica
3633d5b012
Fix small typo in quickstart
2017-05-24 14:38:10 +01:00
Yaron Minsky
f994c4690e
Update quick-start.rst
2017-05-22 11:58:58 +01:00
Yaron Minsky
4dada0e91d
Update quick-start.rst
2017-05-22 11:58:58 +01:00
Yaron Minsky
ad9285493b
Add an example showing how to use ppx_jane
2017-05-22 11:58:58 +01:00
Yaron Minsky
b8acabee43
Fix language choice for example in docs.
2017-05-21 14:45:06 -04:00
Jeremie Dimino
c6dac87ee9
Ignore all directories starting with '.' pr '_'
2017-05-19 12:36:06 +01:00
Jérémie Dimino
fe30935fa2
Rename 'extract-makefile' to 'rules'
2017-05-19 08:27:21 +01:00
Rudi Grinberg
1309a92ec5
Fix links in rst docs
...
Were not converted correctly by pandoc so they must be fixed manually
2017-05-19 08:25:46 +01:00
Jeremie Dimino
d219020b2f
added jbuilder extract-makefile
2017-05-18 19:05:01 +01:00
Louis Roché
f57c084f4b
fix typo in quick start documentation ( #79 )
2017-05-17 08:12:58 +01:00
Jeremie Dimino
d0be25cd88
manual.org and quick-start.org no longer exist
2017-05-15 17:14:10 +01:00
Rudi Grinberg
56093df13e
Read The Docs
...
Port manual to RST to make it usable on readthedocs.
conf.py was only there to make it easy to preview changes if you have sphinx
installed.
2017-05-15 11:53:55 -04:00
Jeremie Dimino
15f43615c5
Add a note about % in user rules
...
Related to #73
2017-05-11 16:07:59 +01:00
Jeremie Dimino
ddadf85d62
doc
2017-05-08 17:11:04 +01:00
Jeremie Dimino
dce491e661
Add a subst command for watermarking files
2017-05-08 16:56:21 +01:00
Bikal Gurung
6ab59ddc53
Fix typo ( #70 )
2017-05-08 08:16:22 +01:00
Jeremie Dimino
4130bc2f63
Add support for ${version:<package>}
2017-05-05 12:26:56 +01:00
hhugo
5cf647e358
Documentation for js_of_ocaml ( #69 )
2017-05-05 08:49:29 +01:00
hhugo
031d57a70a
Documentation for JavaScript targets
2017-05-04 14:11:42 +01:00
Jeremie Dimino
411d1a2f2c
Refactoring
...
- add Super_context.resolve_program and use it everywhere.
- add src/js_of_ocaml.mli
2017-05-02 12:01:27 +01:00
hhugo
86a4f0324a
Add js_of_ocaml support ( #60 )
...
Add rules for building .js files from .bc files using js_of_ocaml as well as rules for separate js compilation when --dev is passed.
2017-05-02 11:25:37 +01:00
Jeremie Dimino
b48f545b5f
Update manual about (package ...) fields in alias stanzas
2017-05-02 10:13:03 +01:00
Rudi Grinberg
c9ec382f28
Document package field in alias stanza
2017-05-02 09:57:03 +01:00
Jeremie Dimino
52b326ab43
Advertise reason support
2017-04-20 16:52:05 +01:00
Jeremie Dimino
ff6019c919
Document manual installation and where external libraries are looked up
2017-04-19 16:06:32 +01:00
Jeremie Dimino
aea7ba8cbf
Update the opam invocation
2017-04-18 12:32:39 +01:00
Jeremie Dimino
03f1f42e57
Document: --cookie library-name="..."
2017-04-17 13:56:44 +01:00
Jeremie Dimino
07871b1190
Add support for ${lib-available:<name>} forms
2017-04-17 12:48:54 +01:00
Jeremie Dimino
72550dc3e0
Add a -p/--for-release-of-packages command line argument
...
`-p pkgs` is the equivalent of `--root . --only-packages pkgs`
2017-04-10 10:44:49 +01:00
Jeremie Dimino
d948edbc4c
Add a (no_dynlink) field
2017-04-10 10:10:15 +01:00
Rudi Grinberg
b9d145dd80
Fix typo in manual
2017-04-07 17:23:35 -04:00
Jeremie Dimino
989d0bd91a
s/option/field/
2017-04-03 16:29:27 +01:00
Rudi Grinberg
3e3d92c9e5
Add menhir support ( #42 )
...
Adds the menhir stanza which desugars into a Rule.t with Support for:
* ocamlyacc like use
* modular parsers with --base
* passing extra flags
Also add tests and documentation.
2017-04-03 16:25:43 +01:00
Jeremie Dimino
d14fdd8f98
Document how to run tests
...
Fix #45
2017-03-30 18:10:23 +01:00
Adrien Guatto
c05f410b75
Improve wording and fix typos in documentation
2017-03-30 17:42:07 +01:00
Jeremie Dimino
3ae53de431
Add an "executable" stanza and make it easier to install executables
...
(executable ...) is easier to use where there is a single executable.
Also add a (package ...) and (public_name <name>)/(public_names
(<names)) to executable/executables stanzas, to make it easier to
install executables.
Closes #33
2017-03-22 15:09:26 +00:00
Jeremie Dimino
57f4203102
Fix a few (action ...) in the doc
...
Closes #32
2017-03-22 11:25:57 +00:00
Jeremie Dimino
a07df550e0
Update the quick-start guide
2017-03-21 14:39:12 +00:00
Jeremie Dimino
a84e338436
Typo
...
Fix #31
2017-03-21 10:49:54 +00:00
Jeremie Dimino
8c6cffd2df
Document (files_recursively_in ...)
2017-03-15 09:11:42 +00:00
Jeremie Dimino
847c771cb8
Add (jbuild_version 1) to jbuilds in the quick start guide
2017-03-14 09:43:55 +00:00
Jérémie Dimino
ba08f27678
Add a few more redirections
...
- with-{stdout,stderr,outputs}-to
- ignore-{stdout,stderr,outputs}
- variable ${null} for /dev/null or NUL on Win32
2017-03-13 08:10:59 +00:00
Laurent Mazare
0b7d16ccdf
Fix the runtest alias example.
2017-03-10 21:28:44 +00:00
Jeremie Dimino
dd6a23ec18
Fix #15
...
When there are no <pkg>.opam files in parent directories, use the
whole workspace as scope
2017-03-10 15:44:17 +00:00