Commit Graph

418 Commits

Author SHA1 Message Date
Jérémie Dimino d7222ae1a6
Fix detection of dynamic cycles (#988)
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-10 12:14:40 +01:00
Jeremie Dimino e3821bbf11 Add a test for ${<}
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-10 11:43:46 +01:00
Jeremie Dimino bfa73a8cac Fix shadowing of forms
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-10 11:43:46 +01:00
Jeremie Dimino a738e1bc38 Expose a bug when shadowing a macro
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-10 11:43:46 +01:00
Jeremie Dimino 0b2bda03ed Refactor percent forms management
Use a single map for both variables and percent forms

Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-10 01:32:26 +07:00
Rudi Grinberg 4f7e7188d7 Implemenet variable shadowing
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-10 01:32:26 +07:00
Jeremie Dimino 38c0d56ba8 Name the intput file for action preprocessors
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-10 01:32:26 +07:00
Jeremie Dimino fa0ab5b4a4 Add a test with (preprocess (action ...))
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-10 01:32:26 +07:00
Rudi Grinberg 205d12755e Failing test for shadowing bindings
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-10 01:32:26 +07:00
Rudi Grinberg bfc1b9fd25 Change binding representation to use a list
This preserves the order of things

Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-10 01:32:26 +07:00
Jeremie Dimino 0b1abc68bd Improve error message for %{<}
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-10 01:32:26 +07:00
Jeremie Dimino df15d30845 Completely get rid of first-dep
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-10 01:32:26 +07:00
Jeremie Dimino 04f62ecc03 Get rid of uses of %{first-dep}
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-10 01:32:26 +07:00
Rudi Grinberg 8fa41edcff Parse bindings in the new syntax
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-10 01:32:26 +07:00
Rudi Grinberg 93b0c618d1 Add syntax for binding dependencies to names
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-10 01:32:26 +07:00
Jérémie Dimino e9027b4b11
Improve error message when too many parentheses are used (#983)
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-09 14:32:20 +01:00
Jeremie Dimino 7c345b677f Forbid Path.append _ (In_build_dir _)
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-09 12:31:39 +01:00
Jérémie Dimino d393630152
Only warn for duplicated fields in jbuild files (#976)
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-09 10:18:04 +01:00
Jeremie Dimino 0bf8140ba1 Fix output-obj tests
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-09 09:40:52 +01:00
Rudi Grinberg baf492db11 Allow %{ocaml-config:..} wherever variables are allowed
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-09 09:05:04 +01:00
Rudi Grinberg 629b3d07ee Add test to show bug with expanding %{ocaml:..} forms
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-09 09:05:04 +01:00
Rudi Grinberg 78370d3983 Rename test not to use outdated form term
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 17:30:47 +07:00
Rudi Grinberg a2153539e1 Fix error messages when percent macros are used incorrectly
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 17:27:35 +07:00
Rudi Grinberg ccabeb7181 Hack to fix printing of errors
This is a temporary hack until we have a real sexp type

Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 17:25:26 +07:00
Rudi Grinberg a24b55ed81 Add error for %{read:x} in wrong place
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 17:18:38 +07:00
Rudi Grinberg 7cb068d1eb Improve error messages for all forms
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg 813b8d9dbc Use correct syntax for error
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg 1b918ecc74 Improve error message for renamed forms
Don't include the payload in these messages

Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg c244fa9d08 Share error messages for renamed/since/deleted etc.
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg 3f7ad78512 Replace more code with the variable system
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg 9811031899 Implement a more elaborate variable expansion mechanism
That embeds changes across versions

Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg 54ff98b36d Rename ROOT to root
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg 1a37977f62 Fix error message
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg 998ff8ce8c Clarify rename test
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg f2f0d240c4 Add tests for lower/uppercase vars
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Jérémie Dimino 3348b6a913
Adapt the behavior of dune subst for dune projects (#960)
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-08 09:51:16 +01:00
Rudi Grinberg b8f11b1f04 Make variable rename errors more consistent
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-06 18:48:30 +07:00
Rudi Grinberg c4545fce18 Get rid of indexed lookups for deps
Have %{first-dep} to replace %{<}

Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-06 18:46:10 +07:00
Etienne Millon 2c29217a20 Add a test case for project_root
Signed-off-by: Etienne Millon <etienne@cryptosense.com>
2018-07-06 18:46:09 +07:00
Rudi Grinberg 204b21f4fb Rename %{<} to %{deps[0]} and implement %{deps[i]}
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-06 18:46:09 +07:00
Rudi Grinberg 13c12e9def Rename %{^} to %{deps}
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-06 18:45:43 +07:00
Rudi Grinberg a317fb0606 Rename %{@} to %{targets}
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-06 18:45:43 +07:00
Rudi Grinberg c290ad288f Rename scope_root to project_root
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-06 18:45:43 +07:00
Rudi Grinberg 7707872e54
Test Stanza Proposal (#822)
Add tests and test stanza

These stanzas are used to easily define tests. If a test has a corresponding .expect file, it will be immediately considered as an expect test.
2018-07-06 18:43:31 +07:00
Etienne Millon 35ff6466de Remove path-no-dep syntax
See #944

Signed-off-by: Etienne Millon <etienne@cryptosense.com>
2018-07-04 10:39:57 +02:00
Etienne Millon 628914fe28 Rename path to dep in dune files
See #842

Signed-off-by: Etienne Millon <etienne@cryptosense.com>
2018-07-03 15:59:52 +02:00
Rudi Grinberg 7a91a2b23b
Merge branch 'master' into subsystem-versioned 2018-07-03 16:49:05 +07:00
Rudi Grinberg 8e09749f12 Add missing words to syntax error message
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-03 16:12:01 +07:00
Rudi Grinberg 8b5e1a9a13 Add tests for fallback
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-03 16:12:01 +07:00
Rudi Grinberg f6fe5d20bb Generate dune file version correctly
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-03 01:01:06 +07:00