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