-
Notifications
You must be signed in to change notification settings - Fork 414
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add (locks) to (mdx) stanza #5628
Conversation
What's the argument of vendoring it against dune's lang? To me doing it against the extension is the most natural option. |
IMO, it's not so important to test the implementation of locks at this PR. We use the same implementation of locks for all actions, so the existing locks tests cover lock functionality fairly well. And if those tests are deemed insufficient, I'd rather us work on making those sufficient than adding more redundant tests. |
6e5b1c7
to
750a0f5
Compare
Agree about the locks - I changed it to test just the parsing parts. |
735addb
to
f5ac1ee
Compare
and+ locks = | ||
field "locks" | ||
(Dune_lang.Syntax.since syntax (0, 3) | ||
>>> repeat String_with_vars.decode) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be nice to share all the locks field related stuff between the stanzas. At least the field decoder for example
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK I'll try something!
I changed my mind about the versioning and went back to the extension. You're right, that's the one that makes the most sense. I also checked on RWO and adding the locks makes the race go away as expected. |
This adds a (locks) field to the mdx stanza. This field is versioned against the extension. Closes ocaml#5489 Signed-off-by: Etienne Millon <[email protected]>
…ne-site, dune-rpc, dune-rpc-lwt, dune-private-libs, dune-glob, dune-configurator, dune-build-info, dune-action-plugin and chrome-trace (3.2.0) CHANGES: - Fixed ``dune describe workspace --with-deps`` so that it correctly handles Reason files, as well as files any other dialect. (ocaml/dune#5701, @esope) - Disable alerts when compiling code in vendored directories (ocaml/dune#5683, @NathanReb) - Fixed ``dune describe --with-deps``, that crashed when some preprocessing was required in a dune file using ``per_module``. (ocaml/dune#5682, fixes ocaml/dune#5680, @esope) - Add `$ dune describe pp` to print the preprocssed ast of sources. (ocaml/dune#5615, fixes ocaml/dune#4470, @cannorin) - Report dune file evaluation errors concurrently. In the same way we report build errors. (ocaml/dune#5655, @rgrinberg) - Watch mode now default to clearing the terminal on rebuild (ocaml/dune#5636, fixes, ocaml/dune#5216, @rgrinberg) - The output of jobs that finished but were cancelled is now omitted. (ocaml/dune#5631, fixes ocaml/dune#5482, @rgrinberg) - Allows to configure all the default destination directories with `./configure` (adds `bin`, `sbin`, `data`, `libexec`). Use `OPAM_SWITCH_PREFIX` instead of calling the `opam` binaries in `dune install`. Fix handling of multiple `libdir` in `./configure` for handling `/usr/lib/ocaml/` and `/usr/local/lib/ocaml`. In `dune install` forbid relative directories in `libdir`, `docdir` and others specific directory setting because their handling was inconsistent (ocaml/dune#5516, fixes ocaml/dune#3978 and ocaml/dune#5455, @bobot) - `--terminal-persistence=clear-on-rebuild` will no longer destroy scrollback on some terminals (ocaml/dune#5646, @rgrinberg) - Add a fmt command as a shortcut of `dune build @fmt --auto-promote` (ocaml/dune#5574, @tmattio) - Watch mode now tracks copied external files, external directories for dependencies, dune files in OCaml syntax, files used by `include` stanzas, dune-project, opam files, libraries builtin with compiler, and foreign sources (ocaml/dune#5627, ocaml/dune#5645, ocaml/dune#5652, ocaml/dune#5656, ocaml/dune#5672, ocaml/dune#5691, ocaml/dune#5722, fixes ocaml/dune#5331, @rgrinberg) - Improve metrics for cram tests. Include test names in the event and add a category for cram tests (ocaml/dune#5626, @rgrinberg) - Allow specifying multiple licenses in project file (ocaml/dune#5579, fixes ocaml/dune#5574, @liyishuai) - Match `glob_files` only against files in external directories (ocaml/dune#5614, fixes ocaml/dune#5540, @rgrinberg) - Add pid's to chrome trace output (ocaml/dune#5617, @rgrinberg) - Fix race when creating local cache directory (ocaml/dune#5613, fixes ocaml/dune#5461, @rgrinberg) - Add `not` to boolean expressions (ocaml/dune#5610, fix ocaml/dune#5503, @rgrinberg) - Fix relative dependencies outside the workspace (ocaml/dune#4035, fixes ocaml/dune#5572, @bobot) - Allow to specify `--prefix` via the environment variable `DUNE_INSTALL_PREFIX` (ocaml/dune#5589, @vapourismo) - Dune-site.plugin: add support for `archive(native|byte, plugin)` used in the wild before findlib documented `plugin(native|byte)` in 2015 (ocaml/dune#5518, @bobot) - Fix a bug where Dune would not correctly interpret `META` files in alternative layout (ie when the META file is named `META.$pkg`). The `Llvm` bindings were affected by this issue. (ocaml/dune#5619, fixes ocaml/dune#5616, @nojb) - Support `(binaries)` in `(env)` in dune-workspace files (ocaml/dune#5560, fix ocaml/dune#5555, @emillon) - (mdx) stanza: add support for (locks). (ocaml/dune#5628, fixes ocaml/dune#5489, @emillon) - (mdx) stanza: support including files in different directories using relative paths, and provide better error messages when paths are invalid (ocaml/dune#5703, ocaml/dune#5704, fixes ocaml/dune#5596, @emillon) - Fix ctypes rules for external lib names which aren't valid ocaml names (ocaml/dune#5667, fixes ocaml/dune#5511, @Khady)
This adds a (locks) field to the mdx stanza. This field is versioned against the extension.