This is an automated email from the ASF dual-hosted git repository.

olamy pushed a commit to branch no_duplicate_artifacts_in_attached_artifacts
in repository https://gitbox.apache.org/repos/asf/maven.git

commit 6c8c21566d7c515b90ee3dcdfd9b83f23789cd07
Author: olivier lamy <ol...@apache.org>
AuthorDate: Mon Jun 1 12:21:13 2020 +1000

    if attached artifacts already contains the artifact remove it and add the 
new one
    
    Signed-off-by: olivier lamy <ol...@apache.org>
---
 .../src/main/java/org/apache/maven/project/MavenProject.java  | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git 
a/maven-core/src/main/java/org/apache/maven/project/MavenProject.java 
b/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
index 896d641..f76d22d 100644
--- a/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
+++ b/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
@@ -72,6 +72,8 @@ import org.codehaus.plexus.classworlds.realm.ClassRealm;
 import org.codehaus.plexus.util.xml.Xpp3Dom;
 import org.eclipse.aether.graph.DependencyFilter;
 import org.eclipse.aether.repository.RemoteRepository;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * The concern of the project is provide runtime values based on the model.
@@ -90,6 +92,9 @@ import org.eclipse.aether.repository.RemoteRepository;
 public class MavenProject
     implements Cloneable
 {
+
+    private static final transient Logger LOGGER = LoggerFactory.getLogger( 
MavenProject.class );
+
     public static final String EMPTY_PROJECT_GROUP_ID = "unknown";
 
     public static final String EMPTY_PROJECT_ARTIFACT_ID = "empty-project";
@@ -926,6 +931,12 @@ public class MavenProject
     public void addAttachedArtifact( Artifact artifact )
         throws DuplicateArtifactAttachmentException
     {
+        // if already there we remove it and add again
+        if ( getAttachedArtifacts().contains( artifact ) )
+        {
+            LOGGER.warn( "artifact {} already attached, remove previous 
instance and add again" );
+            getAttachedArtifacts().remove( artifact );
+        }
         getAttachedArtifacts().add( artifact );
     }
 

Reply via email to