Skip to content

test(package-deps): drop (package ...) deps covered by the library closure - #15997

Draft
Alizter wants to merge 18 commits into
ocaml:mainfrom
Alizter:push-lqnulrsvumwy
Draft

test(package-deps): drop (package ...) deps covered by the library closure#15997
Alizter wants to merge 18 commits into
ocaml:mainfrom
Alizter:push-lqnulrsvumwy

Conversation

@Alizter

@Alizter Alizter commented Aug 17, 2026

Copy link
Copy Markdown
Collaborator

Stacked on #15996. Only the final test cleanup commit is new.

Remove (package foo) where bar’s resolved library closure now supplies foo. Keep the explicit installed PPX, csexp, and action-plugin package dependencies, which are outside the local-library closure.

Test: dune runtest test/blackbox-tests/test-cases/package-dep.t

@Alizter
Alizter force-pushed the push-lqnulrsvumwy branch 9 times, most recently from 69cfe2c to db4217d Compare August 18, 2026 11:14
Alizter added 18 commits August 18, 2026 13:55
A META file template can parse before expansion and become malformed when a later generation marker is replaced. Snapshot that behavior and the presence of multiple markers.

Signed-off-by: Ali Caglayan <alizter@gmail.com>
A promoted META file template can differ from a stale source counterpart. Snapshot acceptance of the generated build contents when promotion is disabled.

Signed-off-by: Ali Caglayan <alizter@gmail.com>
Verify that the accepted malformed source template reaches both the generated and installed META files before validation is added.

Signed-off-by: Ali Caglayan <alizter@gmail.com>
Record that a scoped package dependency omits the PPX library named by serialized instrumentation backend metadata.

Signed-off-by: Ali Caglayan <alizter@gmail.com>
Exercise @install with duplicate public libraries so install-entry indexing continues to report the existing source-located user error.

Signed-off-by: Ali Caglayan <alizter@gmail.com>
Record that a package root reached under a competing virtual implementation does not receive its own link closure.

Signed-off-by: Ali Caglayan <alizter@gmail.com>
Record that a scoped package layout retains melange_requires metadata without materializing its referenced workspace library.

Signed-off-by: Ali Caglayan <alizter@gmail.com>
Record that a scoped package layout preserves a template-defined archive that points to an artifact absent from the layout.

Signed-off-by: Ali Caglayan <alizter@gmail.com>
Exercise library dependencies, private libraries, stubs, redirects, namespaces, virtual implementations, PPX runtime libraries, nested Dune consumers, installed packages, and only-packages masking. Record the current missing-library failures before materializing the closure.

Signed-off-by: Ali Caglayan <alizter@gmail.com>
Record that a package dependency does not yet materialize a nested library namespace, including the intermediate template metadata that must be filtered once support metadata is generated.

Signed-off-by: Ali Caglayan <alizter@gmail.com>
Record that scoped support metadata can advertise a dependency added by a META file template without materializing that dependency.

Signed-off-by: Ali Caglayan <alizter@gmail.com>
Record that a scoped package dependency omits the intermediate metadata in a deprecated-library redirect chain.

Signed-off-by: Ali Caglayan <alizter@gmail.com>
Record that scoped package metadata can reference an inline-test runner library outside the traversed OCaml requires closure.

Signed-off-by: Ali Caglayan <alizter@gmail.com>
Record that a scoped package dependency omits the library referenced by a serialized PPX driver replacement edge.

Signed-off-by: Ali Caglayan <alizter@gmail.com>
Record that a support redirect owned by another package omits metadata generated for its deprecated package name.

Signed-off-by: Ali Caglayan <alizter@gmail.com>
Validate exact template contents before and after rendering, preserve structured source and build diagnostics, and attribute expansion failures to the responsible generation marker. Escape generated backslashes so rendered metadata round-trips through META parsing.

Signed-off-by: Ali Caglayan <alizter@gmail.com>
Use the shared Lib.closure machinery to compute every installed root library's compile and partial-link closure independently in each compilation mode, then union the results so competing and unimplemented virtual libraries remain valid. Add PPX runtimes, serialized subsystem and instrumentation references, complete redirect chains, and deprecated-package metadata.

Materialize only selected artifacts and filtered metadata. Reject selected META template rules that would introduce unmaterialized dependencies or artifacts.

Signed-off-by: Ali Caglayan <alizter@gmail.com>
Remove the explicit foo package dependency from the bar consumer now that bar's resolved library closure materializes foo. Declare the ocamlfind test tool explicitly.

Signed-off-by: Ali Caglayan <alizter@gmail.com>
@Alizter
Alizter force-pushed the push-lqnulrsvumwy branch from db4217d to 2eb15ce Compare August 18, 2026 12:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant