psiroky commented on code in PR #151:
URL:
https://github.com/apache/maven-compiler-plugin/pull/151#discussion_r1080568677
##########
src/main/java/org/apache/maven/plugin/compiler/AbstractCompilerMojo.java:
##########
@@ -1841,29 +1838,36 @@ private List<String> resolveProcessorPathEntries()
ArtifactHandler handler =
artifactHandlerManager.getArtifactHandler( coord.getType() );
Artifact artifact = new DefaultArtifact(
- coord.getGroupId(),
- coord.getArtifactId(),
- VersionRange.createFromVersionSpec( coord.getVersion() ),
- Artifact.SCOPE_RUNTIME,
- coord.getType(),
- coord.getClassifier(),
- handler,
- false );
-
- ArtifactResolutionRequest request = new
ArtifactResolutionRequest()
- .setArtifact( artifact )
- .setResolveRoot( true )
- .setResolveTransitively( true )
- .setLocalRepository(
session.getLocalRepository() )
- .setRemoteRepositories(
project.getRemoteArtifactRepositories() );
-
- ArtifactResolutionResult resolutionResult =
repositorySystem.resolve( request );
-
- resolutionErrorHandler.throwErrors( request, resolutionResult
);
-
- for ( Artifact resolved : resolutionResult.getArtifacts() )
+ coord.getGroupId(),
+ coord.getArtifactId(),
+ coord.getClassifier(),
+ handler.getExtension(),
+ coord.getVersion()
+ );
+
+ CollectRequest collectRequest = new CollectRequest( new
Dependency( artifact, JavaScopes.RUNTIME ),
+ project.getRemoteProjectRepositories() );
+ DependencyRequest dependencyRequest = new DependencyRequest();
+ dependencyRequest.setCollectRequest( collectRequest );
+ DependencyResult dependencyResult =
repositorySystem.resolveDependencies(
+ session.getRepositorySession(), dependencyRequest );
+
+ ArrayList<ArtifactResult> failed = new ArrayList<>();
+ for ( ArtifactResult resolved :
dependencyResult.getArtifactResults() )
+ {
+ if ( resolved.getArtifact() != null &&
resolved.getArtifact().getFile() != null )
+ {
+ elements.add(
resolved.getArtifact().getFile().getAbsolutePath() );
+ }
+ else
+ {
+ failed.add( resolved );
Review Comment:
I believe you are right. If the one the dependencies cannot be resolved,
`DependencyResolutionException` is thrown on line 1858, so the manual handling
of failed artifacts should no be needed?
```
Caused by: org.apache.maven.plugin.MojoExecutionException: Resolution of
annotationProcessorPath dependencies failed: Could not find artifact
org.issue:annotation-processor2:jar:1.0-SNAPSHOT in local.central
(file:///home/psiroky/.m2/repository)
at
org.apache.maven.plugin.compiler.AbstractCompilerMojo.resolveProcessorPathEntries(AbstractCompilerMojo.java:1884)
at
org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:792)
at
org.apache.maven.plugin.compiler.CompilerMojo.execute(CompilerMojo.java:205)
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
at
org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2(MojoExecutor.java:370)
... 20 common frames omitted
Caused by: org.eclipse.aether.resolution.DependencyResolutionException:
Could not find artifact org.issue:annotation-processor2:jar:1.0-SNAPSHOT in
local.central (file:///home/psiroky/.m2/repository)
at
org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:374)
at
org.apache.maven.plugin.compiler.AbstractCompilerMojo.resolveProcessorPathEntries(AbstractCompilerMojo.java:1858)
... 24 common frames omitted
Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: Could
not find artifact org.issue:annotation-processor2:jar:1.0-SNAPSHOT in
local.central (file:///home/psiroky/.m2/repository)
at
org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:431)
at
org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:235)
at
org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:357)
... 25 common frames omitted
Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not
find artifact org.issue:annotation-processor2:jar:1.0-SNAPSHOT in local.central
(file:///home/psiroky/.m2/repository)
at
org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48)
at
org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:369)
at
org.eclipse.aether.util.concurrency.RunnableErrorForwarder.lambda$wrap$0(RunnableErrorForwarder.java:73)
at
org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:627)
at
org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:262)
at
org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:520)
at
org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:408)
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]