* docs: update some documentation in the Build module
* docs: document what [Scope.resolve] does
* docs: add a toplevel docstring to the Alias module
* docs: document (or not) the bootstrap function
* docs: lightly document the bootstrap module
* fix ignore comment
Make jbuilder rules work even when binaries are missing
* Proper error messages for missing binaries
* Unify Prog_spec and Maybe_prog
both can simply be unified into a path type that has a hint for the error
* Remove scarcely useful in_the_tree parameter
It's always true except for the C compiler. In which case, there's no harm in
making it true.
* Make Artifacts return Action.Prog
The old return value was simply converted to this anyway. It's simpler to just
return the proper error straight up.
* Remove remains of in_the_tree
* Improve jbuilder exec
When the path passed contianed to exec contains a '/', it will be interpreted
relative to the path of a build context (default context when absent)
* Update man page of jbuilder exec
* Add String.drop_prefix
* Make jbuilder exec understand relative/absolute paths
jbuilder exec will now interpret absolute paths as relative to the specified
build context. While relative paths will now be intepreted relative to the cwd
appended to the specified build context.
* Fix jbuilder exec /absolute/path
When the path provided to jbuilder exec is absolute, we should ignore the build
context for looking up the binary.
* Fix exec when ran outside of root
Previously, a call like $ jbuilder exec ./xxx --root=p would raise
an exception. Now ./xxx will be intepreterd relative to --root.
* Fix relative paths when jbuilder is ran outside of --root
* Simplify documentation for jbuilder exec
.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.
Calling 'jbuilder build @path/x' always request the alias `x` in
`path` and all its descendant.
To implement that, change the build system interface to take an
arbitrary request as argument.