Keep the JSR-330 annotations off the wagon transitive classpath - #990
Merged
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Ports #986 to
master, which carries the same compile scopes.The JSR-330 migration added
javax.injectandorg.eclipse.sisu.injecttowagon-providers/pom.xmlat compile scope, so every consumer of a provider inherits them. Scoping bothprovidedkeeps 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:treefor a project depending onwagon-fileandwagon-webdav-jackrabbitcarries nosisu,javax.injectorguiceentry after this change.The commit is a clean cherry-pick of cea0316.
Verified:
mvn clean installwithwagon-ssh-externalexcluded -> BUILD SUCCESS. Two suites do not pass in my environment and fail identically on stockmaster, so they are untouched by this change:wagon-ssh-externalreports 57 tests, 3 failures, 21 errors both with and without the commit (ssh: connect to host localhostexit 255; no local sshd).HugeFileDownloadTestneeds 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;masterhas 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.