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);
}
}