Skip to content

Keep the JSR-330 annotations off the wagon transitive classpath - #990

Merged
slachiewicz merged 1 commit into
masterfrom
agent/wagon-sisu-provided-scope-master
Sep 4, 2026
Merged

Keep the JSR-330 annotations off the wagon transitive classpath#990
slachiewicz merged 1 commit into
masterfrom
agent/wagon-sisu-provided-scope-master

Conversation

@slachiewicz

Copy link
Copy Markdown
Member

Ports #986 to master, which carries the same compile scopes.

The JSR-330 migration added javax.inject and org.eclipse.sisu.inject to wagon-providers/pom.xml at compile scope, so every consumer of a provider inherits them. Scoping both provided keeps them on the compile and test classpaths, and off the transitive one.

Any container that can load a wagon supplies both already. Wagon resolves sisu through maven-parent 49 at 1.0.1 while Maven ships 1.1.0, so the inherited copy was only ever a version to resolve away.

dependency:tree for a project depending on wagon-file and wagon-webdav-jackrabbit carries no sisu, javax.inject or guice entry after this change.

The commit is a clean cherry-pick of cea0316.

Verified: mvn clean install with wagon-ssh-external excluded -> BUILD SUCCESS. Two suites do not pass in my environment and fail identically on stock master, so they are untouched by this change:

  • wagon-ssh-external reports 57 tests, 3 failures, 21 errors both with and without the commit (ssh: connect to host localhost exit 255; no local sshd).
  • HugeFileDownloadTest needs about 4 GB of scratch space for a 2 GB fixture, and my disk had 1.4 GB free. The 3.x line halved that fixture in 3fca786; master has no equivalent commit, so this test is heavier here.

Both run in CI, which is the gate for them.

This change was created with AI assistance.

javax.inject and org.eclipse.sisu.inject arrived as compile dependencies with the
JSR-330 migration, so every consumer of a provider now inherits them. Any container
that can load a wagon already supplies both, and wagon pins sisu through maven-parent
49 (1.0.1) while Maven ships 1.1.0, so the inherited copy is only ever a version to
resolve away. Do not restore compile scope: provided still covers compilation, the
test classpath and sisu-maven-plugin's indexing.
@slachiewicz
slachiewicz marked this pull request as ready for review September 4, 2026 11:31
@slachiewicz
slachiewicz merged commit 578fe1f into master Sep 4, 2026
12 checks passed
@slachiewicz
slachiewicz deleted the agent/wagon-sisu-provided-scope-master branch September 4, 2026 13:55
@github-actions github-actions Bot added this to the 4.0.0-M1 milestone Sep 4, 2026
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