[new release] dune-build-info and dune (1.11.0) #14567
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Embed build informations inside executable
CHANGES:
Don't select all local implementations in
dune utop
. Instead, let thedefault implementation selection do its job. (In dune utop, stop selecting all local implementations dune#2327, fixes dune utop fails with multiple virtual module implementations dune#2323, @TheLortex,
review by @rgrinberg)
Check that selected implementations (either by variants or default
implementations) are indeed implementations. (Check user-written input of implementations dune#2328, @TheLortex, review by
@rgrinberg)
Don't reserve the
Ppx
toplevel module name for ppx rewriters (Generate _ppx.ml rather than ppx.ml dune#2242, @diml)Redesign of the library variant feature according to the [RFC] New variant proposal dune#2134 proposal. The
set of variants is now computed when the virtual library is installed.
Introducing a new
external_variant
stanza. (Variants v2 dune#2169, fixes [RFC] New variant proposal dune#2134, @TheLortex,review by @diml)
Add proper line directives when copying
.cc
and.cxx
sources (Unhardcode extensions dune#2275,@rgrinberg)
Fix error message for missing C++ sources. The
.cc
extension was alwaysignored before. (Unhardcode extensions dune#2275, @rgrinberg)
Add
$ dune init project
subcommand to create project boilerplate accordingto a common template. (Add dune init proj subcommand to initialize project skeletons dune#2185, fixes a wizard / quickstart a la oasis would be cool dune#159, @shonfeder)
Allow to run inline tests in javascript with nodejs (Running inline tests with javascript/nodejs dune#2266, @hhugo)
Build
ppx.exe
as compiling host binary. (Set ppx.exe to be built for the compiling host. dune#2286, fixes Cross-compiling sedlex (ppx) for windows dune#2252, @toots, reviewby @rgrinberg and @diml)
Add a
cinaps
extension and stanza for better integration with thecinaps tool tool (Add support for cinaps dune#2269,
@diml)
Allow to embed build info in executables such as version and list
and version of statically linked libraries (Formalise the management of versions dune#2224, @diml)
Set version in
META
anddune-package
files to the one read fromthe vcs when no other version is available (Formalise the management of versions dune#2224, @diml)
Add a variable
%{target}
to be used in situations where the contextrequires at most one word, so
%{targets}
can be confusing; stdoutredirections and "-o" arguments of various tools are the main use
case; also, introduce a separate field
target
that must be usedinstead of
targets
in those situations. (Add a variable %{target} dune#2341, @aalekseyev)Fix dependency graph of wrapped_compat modules. Previously, the dependency on
the user written entry module was omitted. ([WIP] Unified module handling dune#2305, @rgrinberg)
Allow to promote executables built with an
executable
stanza(Allow to promote executables to the source tree dune#2379, @diml)
When instantiating an implementation with a variant, make sure it matches
virtual library's list of known implementations. (Fix separate installation of implementations dune#2361, fixes separate installation of virtual-modules packages fails dune#2322,
@TheLortex, review by @rgrinberg)
Add a variable
%{ignoring_promoted_rules}
that istrue
when--ingore-promoted-rules
is passed on the command line and falseotherwise (Add ignoring_promoted_rules variable dune#2382, @diml)
Fix a bug in
future_syntax
where the characters@
and&
werenot distinguished in the names of binding operators (
let@
was thesame as
let&
) (fix a typo in ocaml-syntax-shims dune#2376, @aalekseyev, @diml)Workspaces with non unique project names are now supported. (Relax restriction on project names being unique dune#2377, fix Internal error when 2 dune-project files have the same name stanza dune#2325,
@rgrinberg)
Improve opam generation to include the
dune
dependncies with the minimumconstraint set based on the dune language version specified in the
dune-project
file. (2383, @avsm)The order of fields in the generated opam file now follows order preferred in
opam-lib. (@avsm, do opam file generation in the same order as
opam lint
dune#2380)Fix coloring of error messages from the compiler (@diml, Fix coloring of messages from the compiler dune#2384)
Add warning
66
to default set of warnings starting for dune projects withlanguage verison >=
1.11
(@rgrinberg, @diml, fixes Set warnings set according to dune's language dune#2299)Add (dialect ...) stanza
(@nojb, Add support for "dialects" dune#2404)
Add a
--context
argument todune install/uninstall
(@diml, Add a --context argument to dune install/uninstall dune#2412)Do not warn about merlin files pre 1.9. This warning can only be disabled in
1.9 (Silence merlin approximation warning in lang < 1.9 dune#2421, fixes merlin approximation warning is not always actionable dune#2399, @emillon)
Add a new
inline_tests
field in the env stanza to control inline_testsframework with a variable (Adds a new 'inline-tests' setting in env stanza dune#2313, @mlasson, original idea by @diml, review
by @rgrinberg).
New binary kind
js
for executables in order to explicitly enable Javascripttargets, and a switch
(explicit_js_mode)
to require this mode in order todeclare JS targets corresponding to executables. (Explicit js mode dune#1941, @nojb)