You are viewing a plain text version of this content. The canonical link for it is here.
Posted to npanday-commits@incubator.apache.org by br...@apache.org on 2014/03/18 13:19:52 UTC
svn commit: r1578863 -
/incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/NPandayDependencyResolution.java
Author: brett
Date: Tue Mar 18 13:19:52 2014
New Revision: 1578863
URL: http://svn.apache.org/r1578863
Log:
avoid altering unmodifiable collection
In some circumstances, the project artifacts can be an unmodifiable
collection. To ensure that's not the case, work on a copy of the set.
Modified:
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/NPandayDependencyResolution.java
Modified: incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/NPandayDependencyResolution.java
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/NPandayDependencyResolution.java?rev=1578863&r1=1578862&r2=1578863&view=diff
==============================================================================
--- incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/NPandayDependencyResolution.java (original)
+++ incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/NPandayDependencyResolution.java Tue Mar 18 13:19:52 2014
@@ -34,6 +34,7 @@ import org.apache.maven.project.MavenPro
import org.apache.maven.project.artifact.InvalidDependencyVersionException;
import org.codehaus.plexus.logging.AbstractLogEnabled;
+import java.util.HashSet;
import java.util.Set;
/**
@@ -91,10 +92,13 @@ public class NPandayDependencyResolution
* dependencies to the projects DIRECT dependencies
* */
- addResolvedSpecialsToProjectDependencies( project, result );
- // Add custom contribute dependencies to maven project dependencies
- project.getDependencyArtifacts().addAll(artifactResolver.getCustomDependenciesCache());
-
+ Set<Artifact> dependencyArtifacts = new HashSet<Artifact>( project.getDependencyArtifacts() );
+ addResolvedSpecialsToProjectDependencies(result, dependencyArtifacts);
+
+ // Add custom contribute dependencies to maven project dependencies
+ dependencyArtifacts.addAll(artifactResolver.getCustomDependenciesCache());
+ project.setDependencyArtifacts(dependencyArtifacts);
+
Set<Artifact> resultRequire = Sets.newLinkedHashSet(result.getArtifacts());
resultRequire.addAll(artifactResolver.getCustomDependenciesCache());
@@ -119,7 +123,7 @@ public class NPandayDependencyResolution
}
}
- private void addResolvedSpecialsToProjectDependencies( MavenProject project, ArtifactResolutionResult result )
+ private void addResolvedSpecialsToProjectDependencies(ArtifactResolutionResult result, Set<Artifact> dependencyArtifacts)
{
Set resolvedArtifacts = result.getArtifacts();
Sets.SetView intersection = Sets.intersection(
@@ -129,11 +133,11 @@ public class NPandayDependencyResolution
for ( Object ao : intersection )
{
Artifact a = (Artifact) ao;
- if ( !project.getDependencyArtifacts().contains( a ) )
+ if ( !dependencyArtifacts.contains(a) )
{
getLogger().info( "NPANDAY-148-005: Adding custom resolved " + a + " to project.dependencyArtifacts" );
- project.getDependencyArtifacts().add( a );
+ dependencyArtifacts.add(a);
}
}