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]

Reply via email to