You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2016/01/01 16:23:08 UTC
svn commit: r1722498 - in
/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependency/resolve:
DependencyResolver.java internal/Maven30DependencyResolver.java
internal/Maven31DependencyResolver.java
Author: rfscholte
Date: Fri Jan 1 15:23:08 2016
New Revision: 1722498
URL: http://svn.apache.org/viewvc?rev=1722498&view=rev
Log:
Prevent NPE with dependencyManagement and dependencies
Modified:
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependency/resolve/DependencyResolver.java
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependency/resolve/internal/Maven30DependencyResolver.java
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependency/resolve/internal/Maven31DependencyResolver.java
Modified: maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependency/resolve/DependencyResolver.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependency/resolve/DependencyResolver.java?rev=1722498&r1=1722497&r2=1722498&view=diff
==============================================================================
--- maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependency/resolve/DependencyResolver.java (original)
+++ maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependency/resolve/DependencyResolver.java Fri Jan 1 15:23:08 2016
@@ -50,7 +50,7 @@ public interface DependencyResolver
/**
* @param buildingRequest the project building request, never {@code null}
- * @param dependencies the dependencies to resolve, never {@code null}
+ * @param dependencies the dependencies to resolve, can be {@code null}
* @param managedDependencies managed dependencies, can be {@code null}
* @param filter a filter, can be {@code null}
* @return the resolved dependencies.
Modified: maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependency/resolve/internal/Maven30DependencyResolver.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependency/resolve/internal/Maven30DependencyResolver.java?rev=1722498&r1=1722497&r2=1722498&view=diff
==============================================================================
--- maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependency/resolve/internal/Maven30DependencyResolver.java (original)
+++ maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependency/resolve/internal/Maven30DependencyResolver.java Fri Jan 1 15:23:08 2016
@@ -103,31 +103,41 @@ public class Maven30DependencyResolver
(ArtifactTypeRegistry) Invoker.invoke( RepositoryUtils.class, "newArtifactTypeRegistry",
ArtifactHandlerManager.class, artifactHandlerManager );
- List<Dependency> aetherDependencies = new ArrayList<Dependency>( mavenDependencies.size() );
-
final Class<?>[] argClasses =
new Class<?>[] { org.apache.maven.model.Dependency.class, ArtifactTypeRegistry.class };
- for ( org.apache.maven.model.Dependency mavenDependency : mavenDependencies )
- {
- Object[] args = new Object[] { mavenDependency, typeRegistry };
+ List<Dependency> aetherDependencies = new ArrayList<Dependency>( mavenDependencies.size() );
- Dependency aetherDependency =
- (Dependency) Invoker.invoke( RepositoryUtils.class, "toDependency", argClasses, args );
+ if ( mavenDependencies != null )
+ {
+ aetherDependencies = new ArrayList<Dependency>( mavenDependencies.size() );
- aetherDependencies.add( aetherDependency );
- }
+ for ( org.apache.maven.model.Dependency mavenDependency : mavenDependencies )
+ {
+ Object[] args = new Object[] { mavenDependency, typeRegistry };
- List<Dependency> aetherManagedDependencies = new ArrayList<Dependency>( managedMavenDependencies.size() );
+ Dependency aetherDependency =
+ (Dependency) Invoker.invoke( RepositoryUtils.class, "toDependency", argClasses, args );
- for ( org.apache.maven.model.Dependency mavenDependency : managedMavenDependencies )
+ aetherDependencies.add( aetherDependency );
+ }
+ }
+
+ List<Dependency> aetherManagedDependencies = null;
+
+ if ( managedMavenDependencies != null )
{
- Object[] args = new Object[] { mavenDependency, typeRegistry };
+ aetherManagedDependencies = new ArrayList<Dependency>( managedMavenDependencies.size() );
+
+ for ( org.apache.maven.model.Dependency mavenDependency : managedMavenDependencies )
+ {
+ Object[] args = new Object[] { mavenDependency, typeRegistry };
- Dependency aetherDependency =
- (Dependency) Invoker.invoke( RepositoryUtils.class, "toDependency", argClasses, args );
+ Dependency aetherDependency =
+ (Dependency) Invoker.invoke( RepositoryUtils.class, "toDependency", argClasses, args );
- aetherManagedDependencies.add( aetherDependency );
+ aetherManagedDependencies.add( aetherDependency );
+ }
}
@SuppressWarnings( "unchecked" )
Modified: maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependency/resolve/internal/Maven31DependencyResolver.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependency/resolve/internal/Maven31DependencyResolver.java?rev=1722498&r1=1722497&r2=1722498&view=diff
==============================================================================
--- maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependency/resolve/internal/Maven31DependencyResolver.java (original)
+++ maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependency/resolve/internal/Maven31DependencyResolver.java Fri Jan 1 15:23:08 2016
@@ -102,31 +102,41 @@ public class Maven31DependencyResolver
(ArtifactTypeRegistry) Invoker.invoke( RepositoryUtils.class, "newArtifactTypeRegistry",
ArtifactHandlerManager.class, artifactHandlerManager );
- List<Dependency> aetherDeps = new ArrayList<Dependency>( mavenDependencies.size() );
-
final Class<?>[] argClasses =
new Class<?>[] { org.apache.maven.model.Dependency.class, ArtifactTypeRegistry.class };
- for ( org.apache.maven.model.Dependency mavenDependency : mavenDependencies )
+ List<Dependency> aetherDeps = null;
+
+ if ( mavenDependencies != null )
{
- Object[] args = new Object[] { mavenDependency, typeRegistry };
+ aetherDeps = new ArrayList<Dependency>( mavenDependencies.size() );
- Dependency aetherDependency =
- (Dependency) Invoker.invoke( RepositoryUtils.class, "toDependency", argClasses, args );
+ for ( org.apache.maven.model.Dependency mavenDependency : mavenDependencies )
+ {
+ Object[] args = new Object[] { mavenDependency, typeRegistry };
- aetherDeps.add( aetherDependency );
- }
+ Dependency aetherDependency =
+ (Dependency) Invoker.invoke( RepositoryUtils.class, "toDependency", argClasses, args );
- List<Dependency> aetherManagedDeps = new ArrayList<Dependency>( managedMavenDependencies.size() );
+ aetherDeps.add( aetherDependency );
+ }
+ }
- for ( org.apache.maven.model.Dependency mavenDependency : managedMavenDependencies )
+ List<Dependency> aetherManagedDependencies = null;
+
+ if ( managedMavenDependencies != null )
{
- Object[] args = new Object[] { mavenDependency, typeRegistry };
+ aetherManagedDependencies = new ArrayList<Dependency>( managedMavenDependencies.size() );
+
+ for ( org.apache.maven.model.Dependency mavenDependency : managedMavenDependencies )
+ {
+ Object[] args = new Object[] { mavenDependency, typeRegistry };
- Dependency aetherDependency =
- (Dependency) Invoker.invoke( RepositoryUtils.class, "toDependency", argClasses, args );
+ Dependency aetherDependency =
+ (Dependency) Invoker.invoke( RepositoryUtils.class, "toDependency", argClasses, args );
- aetherManagedDeps.add( aetherDependency );
+ aetherManagedDependencies.add( aetherDependency );
+ }
}
@SuppressWarnings( "unchecked" )
@@ -134,7 +144,7 @@ public class Maven31DependencyResolver
(List<RemoteRepository>) Invoker.invoke( RepositoryUtils.class, "toRepos", List.class,
buildingRequest.getRemoteRepositories() );
- CollectRequest request = new CollectRequest( aetherDeps, aetherManagedDeps, aetherRepos );
+ CollectRequest request = new CollectRequest( aetherDeps, aetherManagedDependencies, aetherRepos );
return resolveDependencies( buildingRequest, aetherRepos, filter, request );
}