Laird Nelson created MNG-6190: --------------------------------- Summary: maven-resolver-provider's DefaultArtifactDescriptorReader has mismatched constructor and initService methods Key: MNG-6190 URL: https://issues.apache.org/jira/browse/MNG-6190 Project: Maven Issue Type: Bug Components: Dependencies Affects Versions: 3.5.0-alpha-1 Reporter: Laird Nelson
In {{DefaultArtifactDescriptorReader.java}}, the constructor annotated with {{@Inject}} differs in the parameters it takes from its {{initService()}} method. This discrepancy means among other things that its {{versionRangeResolver}} field is never initialized when a DI container is doing injection. Here is the relevant code, starting at line 112, with a comment where the problem is: {code} @Inject DefaultArtifactDescriptorReader( RemoteRepositoryManager remoteRepositoryManager, VersionResolver versionResolver, ArtifactResolver artifactResolver, ModelBuilder modelBuilder, RepositoryEventDispatcher repositoryEventDispatcher, LoggerFactory loggerFactory ) { setRemoteRepositoryManager( remoteRepositoryManager ); setVersionResolver( versionResolver ); // XXX <-- Note: no versionRangeResolver setArtifactResolver( artifactResolver ); setModelBuilder( modelBuilder ); setLoggerFactory( loggerFactory ); setRepositoryEventDispatcher( repositoryEventDispatcher ); } public void initService( ServiceLocator locator ) { setLoggerFactory( locator.getService( LoggerFactory.class ) ); setRemoteRepositoryManager( locator.getService( RemoteRepositoryManager.class ) ); setVersionResolver( locator.getService( VersionResolver.class ) ); setVersionRangeResolver( locator.getService( VersionRangeResolver.class ) ); setArtifactResolver( locator.getService( ArtifactResolver.class ) ); setRepositoryEventDispatcher( locator.getService( RepositoryEventDispatcher.class ) ); modelBuilder = locator.getService( ModelBuilder.class ); if ( modelBuilder == null ) { setModelBuilder( new DefaultModelBuilderFactory().newInstance() ); } } {code} -- This message was sent by Atlassian JIRA (v6.3.15#6346)