psiroky commented on code in PR #169:
URL: 
https://github.com/apache/maven-compiler-plugin/pull/169#discussion_r1081610573


##########
src/main/java/org/apache/maven/plugin/compiler/AbstractCompilerMojo.java:
##########
@@ -1814,29 +1810,26 @@ 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 );
+
+                for ( ArtifactResult resolved : 
dependencyResult.getArtifactResults() )
                 {
-                    elements.add( resolved.getFile().getAbsolutePath() );
+                    if ( resolved.getArtifact() != null && 
resolved.getArtifact().getFile() != null )
+                    {
+                        elements.add( 
resolved.getArtifact().getFile().getAbsolutePath() );
+                    }

Review Comment:
   I meant this case -- there is no `DependencyResolutionException` thrown, but 
also for some reason `resolved.getArtifact()` or 
`resolved.getArtifact().getFile()` actually returns null. As I understand it, 
this should not happen, unless there is a bug in the resolver. But then I am 
wondering if we should just remove those null checks here? Or maybe throw a 
fail-fast exception to not silently swallow resolved artifacts where the file 
is `null`?
   
   



-- 
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: issues-unsubscr...@maven.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to