Commit Graph

51 Commits

Author SHA1 Message Date
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
Jeremie Dimino 7a8fa99f5a Remove Create_file action
Makes no sense now that we use digests rather than timestamps
2017-08-17 15:13:11 +01:00
Jeremie Dimino 508c90201f Replace timestamp checks by file contents checks 2017-08-17 15:13:11 +01:00
David Allsopp bf3fa0831d Add Sys.force_remove
Sys.force_remove is Sys.remove, except on Windows, where it will remove
the "read-only" attribute and re-try a failed Sys.remove
2017-06-15 12:14:56 +02: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
Jeremie Dimino 5307a92ddc Do not allow (chdir ...) with dynamic directories
For instance (chdir ${read:foo} ...) is not allowed. This doesn't seem
really useful since we couldn't express the targets anyway and
supporting it complicate the code.
2017-06-08 10:03:11 +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 a392b59fcd copy-and-add-line-directive --> copy# 2017-06-05 12:11:39 +01:00
Jeremie Dimino a52c8a4cd7 Add location to a few errors 2017-05-31 16:49:54 +01:00
Jeremie Dimino 373e6c2524 Allow ${...:...} for in (do ...) and add more checks
Check that targets written by the user are a superset of inferred
targets.
2017-05-31 10:15:32 +01:00
Jeremie Dimino 81e6ebd09b Simplify inference 2017-05-30 17:39:23 +01:00
Jeremie Dimino acd1e3e571 Do not fail immediately when expanding actions and a program isn't found 2017-05-30 17:35:49 +01:00
Jeremie Dimino 4e7cb253e1 Add support for reading files from actions
- ${read:<filename>}        -> expand to the contents of the file
- ${read-lines:<filename>}  -> expand to the list of lines in the file
- ${read-strings:<filename> -> expand to the list of lines in the file,
  unescaped using OCaml escaping rules

Generalize ${!...} form
2017-05-30 17:02:45 +01:00
Jeremie Dimino a8a43e4b22 Add ${!^} and ${!@} and document them 2017-05-29 19:12:37 +01:00
Jeremie Dimino 1d3341ed28 Add a (mkdir ...) action 2017-05-29 14:51:46 +01:00
Jérémie Dimino 7c9dcbf284 Added deps/targets inference 2017-05-29 07:51:52 +01:00
Jérémie Dimino b9c9b19f0a Refactoring 2017-05-29 07:51:52 +01:00
Jérémie Dimino 73a4cef9f8 Move the context out of Action.t
And add it to the rule. It is never dynamic, so it is simpler this
way, we just set it in Super_context.add_rule.
2017-05-29 07:51:52 +01:00
Jérémie Dimino 7f0a2d7e12 Remove unused function 2017-05-29 07:51:52 +01:00
Jeremie Dimino 500f224098 Delete old odoc artifacts before running odoc 2017-05-26 18:34:49 +01:00
Jeremie Dimino 35ba1bc0f1 Remove the dir field in Action.t
Simplify things for Build.progn
2017-05-26 18:34:49 +01:00
Jeremie Dimino a3ee81055d Refactor IO functions and fix invalid IOs in gen_rules 2017-05-18 17:12:32 +01:00
Jeremie Dimino 87c958f2e0 Add Build.if_file_exists 2017-05-15 09:37:46 +01:00
Jeremie Dimino ee43c2718f Environment variable names are not case sensitive on Windows 2017-04-24 12:53:18 +01:00
Jeremie Dimino 2f4ec1c281 refactoring 2017-04-17 13:20:21 +01:00
Jeremie Dimino 83c1a6f5bd Fix compat with 4.06 2017-03-31 17:31:55 +01:00
Jeremie Dimino ffa1662ce9 Sandbox the build of the alias module with 4.02
To prevent the compiler from reading the cmi of the aliased modules.
2017-03-31 15:15:54 +01:00
Jeremie Dimino b9976773a3 Add support for sandboxing 2017-03-31 15:06:53 +01:00
Stephen Dolan b5ae1b1f52 Quieter output (#40)
Makes the output quieter by default and add a `--verbose` argument. Print a message when waiting for background jobs to finish only it it takes more than 0.5 seconds.
2017-03-30 17:36:58 +01:00
Jeremie Dimino 8e64aa0990 Lookup bash in the PATH
Closes #36
2017-03-24 11:04:24 +00:00
Jeremie Dimino 2a5dc053fb Fix sexp_of_t (Update_file ...) 2017-03-15 09:15:47 +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
Jeremie Dimino 3db4514d3a Delete pending targets when a command fails 2017-03-07 10:14:16 +00:00
Jeremie Dimino 7850bf67f5 Write_file --> Update_file 2017-03-06 14:34:53 +00:00
Jeremie Dimino a26b787456 Fix expansion of user actions 2017-03-06 12:22:44 +00:00
Jeremie Dimino a188fcacf4 Start incremental compilation 2017-03-03 15:26:14 +00:00
Jeremie Dimino 87fa4c080a Fix the use of Path.reach for program names 2017-03-03 13:53:34 +00:00
Jeremie Dimino 65f06e7454 fix 2017-03-03 13:47:51 +00:00
Jeremie Dimino 470d791bac fix 2017-03-03 13:23:44 +00:00
Jeremie Dimino c3c3e9e9b5 Force users to write (bash ...) when they want it 2017-03-03 13:18:52 +00:00
Jeremie Dimino e300ca0f16 Simplify actions
Make Bash a normal action
2017-03-03 12:59:52 +00:00
Jeremie Dimino adf423a595 Change the rule signature
Now rules are arrows of type: (unit, Action.t) Build.t

They don't execute command directly, but instead build a serializable
action to execute.
2017-03-03 12:27:34 +00:00
Jeremie Dimino 2967987356 add a few more actions 2017-03-03 09:18:03 +00:00
Jeremie Dimino 987d437a99 Revert name change 2017-03-03 08:57:20 +00:00
Jeremie Dimino 304e4d9a7a prepare for change 2017-03-03 08:18:10 +00:00
Jeremie Dimino dc5c5851ff Execute preprocess commands using the system shell 2017-02-28 10:32:57 +00:00
Jeremie Dimino e540602ad9 Add a few more actions
Just enough to handle the common cases.
2017-02-27 14:15:30 +00:00
Jeremie Dimino df866a5840 Refactor actions 2017-02-27 13:34:16 +00:00
Jeremie Dimino ecc3462912 Add (with-stdout-to ...) 2017-02-24 16:47:23 +00:00