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`, 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