Commit Graph

1989 Commits

Author SHA1 Message Date
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 ca342fd840 Fix inverted conditionals for version check
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.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 97fba5537d Write lexer to parse %{deps[i]}
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-06 18:46:09 +07:00
Rudi Grinberg 0195b4bd03 Add some helpers to impldement %{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
Rudi Grinberg 19e332d8a4
Merge pull request #958 from rgrinberg/dune-gen-meta
Rename JBUILDER_GEN to DUNE_GEN
2018-07-06 15:52:08 +07:00
Rudi Grinberg 35f111981f
Merge branch 'master' into dune-gen-meta 2018-07-06 15:39:43 +07:00
Rudi Grinberg 0f607c39fb
More Manual Updates (#955)
This migrates the rest of the manual to use dune
2018-07-06 15:10:59 +07:00
Rudi Grinberg a8bd8ffa44 Rename JBUILDER_GEN to DUNE_GEN
Technically, we still support JBUILDER_GEN

Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-06 15:10:13 +07:00
Rudi Grinberg 4c0594caff
Port over the dune file description page to dune (#953) 2018-07-05 22:09:56 +07:00
Etienne Millon 6694dd2714
Merge pull request #951 from rgrinberg/port-quickstart-dune
Port quick start to dune syntax
2018-07-05 11:47:09 +02:00
Rudi Grinberg 11890d2b8d Port quick start to dune syntax
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-05 16:19:51 +07:00
Armaël Guéneau c757dff4e2 README: fix typo
Signed-off-by: Armaël Guéneau <armael.gueneau@ens-lyon.fr>
2018-07-05 09:04:50 +01:00
Etienne Millon 1626faf64f
Merge pull request #948 from emillon/remove-path-no-dep
Remove path-no-dep
2018-07-04 10:56:08 +02: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 9ece73dadc
Merge pull request #944 from emillon/rename-path-vars
Rename path variables in dune files
2018-07-03 17:39:50 +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 9a605b96f5
Merge pull request #937 from rgrinberg/subsystem-versioned
Subsystem versioned
2018-07-03 18:59:15 +07:00
Rudi Grinberg 63eb0f2312
Merge branch 'master' into subsystem-versioned 2018-07-03 18:59:02 +07:00
Jérémie Dimino e6a5ef9508
Add the lib_root and libexec_root install sections (#947)
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-03 10:49:18 +01:00
Rudi Grinberg 7a91a2b23b
Merge branch 'master' into subsystem-versioned 2018-07-03 16:49:05 +07:00
Rudi Grinberg e09695e116 Relax versions for subsystems
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-03 16:36:11 +07:00
Rudi Grinberg e77367eb2a
Merge pull request #945 from rgrinberg/fallback-dune
Disable fallback in dune files
2018-07-03 16:24:27 +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 aee019577b Change fallback check to use ?check param
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-03 16:12:01 +07:00
Rudi Grinberg dee6c9aa96 Disable fallback in dune files
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-03 16:12:01 +07:00
Jérémie Dimino e56fba9a57
Do not use opam-installer to copy files (#941)
Instead of calling opam-installer, manually parse .install files and copy the files.

Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-03 10:10:09 +01:00
Jeremie Dimino 6589464f21 Rewrite lexing of installed dune files
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-03 09:22:57 +01:00
Rudi Grinberg 04ee6b0b2d Set M.syntax when reading subsystems generated by dune
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-03 01:01:06 +07:00
Rudi Grinberg 044c78281d Use parsing context when parsing name, version, raw triple of sub systems
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-03 01:01:06 +07:00
Rudi Grinberg 0051aeca29 Do not read .dune files twice
Reuse the same lexer by pushing back some tokens manually

Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-03 01:01:06 +07:00
Rudi Grinberg 4af1f189f0 Using Syntax.Verison.t to decide how to generate sub system files
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-03 01:01:06 +07:00
Rudi Grinberg 22cf958b0c Add dune_version field for libraries
This field is necessary to know how to generate .dune files for a particular
library.

Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-03 01:01:06 +07:00
Rudi Grinberg 9005ca8998 Simplify error handling
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-03 01:01:06 +07:00
Rudi Grinberg 01163776ad s/Dune/lang/
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-03 01:01:06 +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
Rudi Grinberg 9c0daa24de Don't hard code parsing_context for sub systems
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-03 01:01:06 +07:00
Rudi Grinberg ba9335badf Simplify dump_config with Option.map
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-03 01:01:06 +07:00
Rudi Grinberg 7b12e12571 Share loc variable
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-03 01:01:06 +07:00
Rudi Grinberg bedad1f689 Set version when parsing dune files
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-03 01:01:06 +07:00
Rudi Grinberg 8390af90e4 Simplify versioning matching
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-03 01:01:06 +07:00
Rudi Grinberg a4bc260241 Loc.of_lexbuf
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-03 01:01:06 +07:00
Rudi Grinberg c906801c69 Parse dune files in a versioned way.
We read the first 3 tokens of a dune file and use it recognize if the file was
generated using jbuilder or dune

Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-03 01:01:06 +07:00
Rudi Grinberg 179d23ee38 Expose the type of tokens and lexers
This will be necessary for some manual parsing

Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-03 01:01:06 +07:00