New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[MSHARED-817] Change eclipse aether dependency scope to provided #2
Conversation
This commit looks kind of dangerous to me. The integration goals show how a any plugin should use this library, the classRealm is for Maven internal only and is public due to design restrictions. |
@rfscholte Would it be OK if the classRealm handling is inside the artifact-transfer library instead of inside the plugin's code? |
That would be better, bet this library should not assume it is always used within a Maven Classrealm. There should be a good fallback. |
Hi @rfscholte. I tracked this issue and it is related to MNG-5901, where the package org.eclipse.aether.util was removed from the extensions.xml exports. |
That's great news. I guess this means that plugins/extensions trying to upload/download are forced to use maven-artifact-transfer. That's probably fine assuming this is done by our own maven-plugins |
So should we open a new issue to revert MNG-5901? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changes look interesting and would solve the shading issue that's still required. Just a small number of remarks.
src/main/java/org/apache/maven/shared/transfer/project/MavenAetherUtils.java
Outdated
Show resolved
Hide resolved
src/main/java/org/apache/maven/shared/transfer/project/MavenAetherUtils.java
Outdated
Show resolved
Hide resolved
...o-classworlds/src/main/java/org/apache/maven/shared/artifact/transfer/noclassworlds/App.java
Outdated
Show resolved
Hide resolved
- Changed eclipse aether dependency to provided scope. - Removed shading of aether classes. - Added method to import aether library inside TransferUtils to use from a plugin. - Modified ProjectDeployerMojo and ProjectInstallerMojo plugins used for ITs.
the library. - Moved and renamed class to org.apache.maven.shared.transfer.project.MavenAetherUtils. - No dependency with org.codehaus.plexus:plexus-classworlds is required. - Added an IT.
- added optional classworlds dependency. - Adapted MavenAetherUtils.importAether() method.
a892b7f
to
e635518
Compare
a plugin.
ITs.