Skip to content

Commit c90f9f0

Browse files
committed
Use exports field in META generated by (deprecated_library_name)
Signed-off-by: Nicolás Ojeda Bär <[email protected]>
1 parent 1bdd62a commit c90f9f0

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

src/dune_rules/gen_meta.ml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,9 +198,10 @@ let gen ~(package : Package.t) ~add_directory_entry entries =
198198
pub_name, entries)
199199
| Deprecated_library_name
200200
{ old_name = old_public_name, _; new_public_name = _, new_public_name; _ } ->
201+
let deps = Lib_name.Set.singleton new_public_name in
201202
Memo.return
202203
( Pub_name.of_lib_name (Public_lib.name old_public_name)
203-
, version @ [ requires (Lib_name.Set.singleton new_public_name) ] ))
204+
, version @ [ requires deps; exports deps ] ))
204205
in
205206
let pkgs =
206207
List.map pkgs ~f:(fun (pn, meta) ->

test/blackbox-tests/test-cases/deprecated-library-name/features.t

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ tests that the "old_public_name" field is evaluated lazily
5353

5454
$ dune_cmd cat $PWD/_install/lib/a/META
5555
requires = "b"
56+
exports = "b"
5657

5758
$ dune_cmd cat $PWD/_install/lib/a/dune-package | sed "s/(lang dune .*)/(lang dune <version>)/"
5859
(lang dune <version>)
@@ -144,8 +145,10 @@ First the motivating case.
144145

145146
$ dune_cmd cat d/_build/install/default/lib/menhirLib/META
146147
requires = "menhir.lib"
148+
exports = "menhir.lib"
147149
$ dune_cmd cat d/_build/install/default/lib/menhirSdk/META
148150
requires = "menhir.sdk"
151+
exports = "menhir.sdk"
149152

150153
$ find d/_build/install/default -name 'dune-package' | sort
151154
d/_build/install/default/lib/dummy/dune-package
@@ -208,6 +211,7 @@ Checks that we can migrate top-level libraries across packages.
208211

209212
$ dune_cmd cat d/_build/install/default/lib/top1/META
210213
requires = "q.bar"
214+
exports = "q.bar"
211215

212216
Check that we can do it when the name of the new library is the same as the
213217
old public name:
@@ -227,6 +231,7 @@ old public name:
227231

228232
$ dune_cmd cat d/_build/install/default/lib/top2/META
229233
requires = "q.top2"
234+
exports = "q.top2"
230235

231236
We check that there is an error when there is an actual ambiguity:
232237

@@ -304,6 +309,7 @@ Qualified, deprecated old_public_name:
304309
$ dune_cmd cat d/_build/install/default/lib/q/META
305310
package "foo" (
306311
requires = "p"
312+
exports = "p"
307313
)
308314

309315
$ find d/_build/install/default -name 'dune-package' | sort
@@ -345,9 +351,11 @@ Two libraries redirecting to the same library:
345351
$ dune_cmd cat d/_build/install/default/lib/q/META
346352
package "bar" (
347353
requires = "p"
354+
exports = "p"
348355
)
349356
package "foo" (
350357
requires = "p"
358+
exports = "p"
351359
)
352360

353361
$ find d/_build/install/default -name 'dune-package' | sort

0 commit comments

Comments
 (0)