-
Notifications
You must be signed in to change notification settings - Fork 413
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
(public_name -)
different behaviour between executable
and executables
#5852
Comments
Orthogonal to the issue described here, but note that this is not actually correct:
This is probaly because using |
Apart from the possibility of sharing modules between executables, are they acting in the same way or is there other difference?
I agree that we should be able to remove this |
No, I mean that any |
One aspect of ocaml#5852 revealed that this feature is under-documented, so documenting the current behavior is a good first step. Signed-off-by: Marek Kubica <marek@tarides.com>
* Document advantage of `executables` over `executable` One aspect of #5852 revealed that this feature is under-documented, so documenting the current behavior is a good first step.
@emillon It seems to me like executable and executables have their public_name's validated differently. |
There was indeed two issues in this issue:
|
Ok, I see. The alternatives are:
(Both solutions prevent the creation of an executable named I don't like adding equivalent forms ( Does that sound good to you? |
Yes, I agree with this proposition 👍 |
Fixes ocaml#5852 This brings consistency with `(public_names)` in `(executables)`: a plural stanzas with only `-` in `(public_names)` installs nothing. Signed-off-by: Etienne Millon <me@emillon.org>
Implemented in #7576 . |
Fixes ocaml#5852 This brings consistency with `(public_names)` in `(executables)`: a plural stanzas with only `-` in `(public_names)` installs nothing. Signed-off-by: Etienne Millon <me@emillon.org>
* Make (public_name -) equivalent to no public name Fixes #5852 This brings consistency with `(public_names)` in `(executables)`: a plural stanza with only `-` in `(public_names)` installs nothing. Signed-off-by: Etienne Millon <me@emillon.org>
CHANGES: - Correctly set `MANPATH` in `dune exec`. Previously, we would use the `bin/` directory of the context. (ocaml/dune#7655, @rgrinberg) - Allow overriding the `ocaml` binary with findlib configuration (ocaml/dune#7648, @rgrinberg) - Modules that were declared in `(modules_without_implementation)`, `(private_modules)` or `(virtual_modules)` but not declared in `(modules)` will cause Dune to emit a warning which will become an error in 3.9. (ocaml/dune#7608, fixes ocaml/dune#7026, @Alizter) - Dune can now detect Coq theories from outside the workspace. This allows for composition with installed theories (not necessarily installed with Dune). (ocaml/dune#7047, @Alizter, @ejgallego) - Fix regression where Merlin was unable to handle filenames with uppercase letters under Windows. (ocaml/dune#7577, @nojb) - On nix+macos, pass `-f` to the codesign hook to avoid errors when the binary is already signed (ocaml/dune#7183, fixes ocaml/dune#6265, @greedy) - Fix bug where RPC clients built with dune-rpc-lwt would crash when closing their connection to the server (ocaml/dune#7581, @gridbugs) - Introduce mdx stanza 0.4 requiring mdx >= 2.3.0 which updates the default list of files to include `*.mld` files (ocaml/dune#7582, @Leonidas-from-XIV) - Fix RPC server on Windows (used for OCaml-LSP). (ocaml/dune#7666, @nojb) - In `(executable)`, `(public_name -)` is now equivalent to no `(public_name)`. This is consistent with how `(executables)` handles this field. (ocaml/dune#7576 , fixes ocaml/dune#5852, @emillon) - Change directory of odoc assets to `odoc.support` (was `_odoc_support`) so that it works with Github Pages out of the box. (ocaml/dune#7588, fixes ocaml/dune#7364, @emillon)
Expected Behavior
Hi, dear dune maintainers,
While working with
executable
andexecutables
I noticed a difference in behaviour with the stanza(public_name -)
and(public_names - -)
.As described in the documentation, they should work the same way:
Actual Behavior
IIUC, the two executables descriptions should work the same way as one is just a contraction of the other one:
Whereas
2.
works without any issue and the-
name is taken as ignored this field,1.
raised the following error:Reproduction
The reproduction steps are:
Specifications
dune
(output ofdune --version
): 3.2.0ocaml
(output ofocamlc --version
): 4.14.0The text was updated successfully, but these errors were encountered: