Skip to content

Correct requireExplicitDependencies and overWriteFiles docs and edge cases - #1795

Merged
slachiewicz merged 3 commits into
apache:masterfrom
slachiewicz:agent/followup-explicit-deps-overwrite
Nov 14, 2026
Merged

slachiewicz merged 3 commits into
apache:masterfrom
slachiewicz:agent/followup-explicit-deps-overwrite

Conversation

@slachiewicz

Copy link
Copy Markdown
Member

Follow-up to #1793 and #1794 before 3.12.0 ships.

requireExplicitDependencies: a versionless item whose groupId and artifactId no dependency declares is reported as a violation instead of failing in the version lookup; a version range matches only when the declared range contains the item's version; the docs say what a pom declaration really does (it adds the module's transitive dependencies and shows in dependency:tree; use provided scope and a *:* exclusion to avoid that) and describe the exemption by how the goal is invoked.

overWriteFiles: the two examples that still described the old timestamp rule now say every existing file is kept; a dangling symlink at the target counts as existing; the javadoc says the first file wins when several entries map to the same path.

Verified: dependency:tree with a provided pom dependency and a *:* exclusion → only g:pomdep:pom:1.0:provided on Maven 3.9.16 and 3.10.0-rc-1


To make clear that you license your contribution under
the Apache License Version 2.0, January 2004
check one of the following:

…efore version lookup

A versionless item that no dependency declares used to fail in the version lookup with "Unable to find artifact version" instead of the violation list. An item range no longer matches a declared version, because the goal resolves the range to the highest available version, which may not be the declared one.
With overWriteFiles=false a dangling symlink at the target path now counts as an existing file, so the archive entry is not written through it.
@slachiewicz slachiewicz added the bug Something isn't working label Nov 14, 2026
@slachiewicz
slachiewicz marked this pull request as ready for review November 14, 2026 12:16
@slachiewicz
slachiewicz merged commit 36c3669 into apache:master Nov 14, 2026
14 checks passed
@github-actions github-actions Bot added this to the 3.12.0 milestone Nov 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant