maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (MNG-5868) Adding serval times the same artifact via MavenProjectHelper (attachArtifact) does not produce a failure
Date Fri, 18 Dec 2015 00:03:46 GMT

    [ https://issues.apache.org/jira/browse/MNG-5868?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15063132#comment-15063132
] 

Hudson commented on MNG-5868:
-----------------------------

SUCCESS: Integrated in maven-3.x #1174 (See [https://builds.apache.org/job/maven-3.x/1174/])
Revert "[MNG-5868] Adding serval times the same artifact via (schulte: rev 536350f5c5960e6c639305acde79e3fc81a91dd4)
* maven-core/src/main/java/org/apache/maven/project/MavenProjectHelper.java
* maven-core/src/main/java/org/apache/maven/project/MavenProject.java
* maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectHelper.java
[MNG-5868] Adding serval times the same artifact via MavenProjectHelper (schulte: rev 5f048234ff44dbf70fcad9f17834c64866f452e1)
* maven-core/src/main/java/org/apache/maven/project/MavenProject.java
* maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectHelper.java


> Adding serval times the same artifact via MavenProjectHelper (attachArtifact) does not
produce a failure 
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: MNG-5868
>                 URL: https://issues.apache.org/jira/browse/MNG-5868
>             Project: Maven
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 3.0.5, 3.1.1, 3.2.5, 3.3.3
>            Reporter: Karl Heinz Marbaise
>            Assignee: Christian Schulte
>             Fix For: 3.4.0
>
>
> During the check of an issue MSHADE-195 i stumbled over several things...
> If you take a look here and the log output excerpt:
> {noformat}
> INFO] Minimized 2341 -> 1293
> [INFO] Minimized 3282 -> 2234
> [INFO] Replacing original artifact with shaded artifact.
> [INFO] Replacing /Users/kama/ws-git/apache/mshade/mshade-195/target/MSHADE-195-example-1-SNAPSHOT.jar
with /Users/kama/ws-git/apache/mshade/mshade-195/target/MSHADE-195-example-1-SNAPSHOT-shaded.jar
> [INFO] Replacing original source artifact with shaded source artifact.
> [INFO] Replacing /Users/kama/ws-git/apache/mshade/mshade-195/target/MSHADE-195-example-1-SNAPSHOT-sources.jar
with /Users/kama/ws-git/apache/mshade/mshade-195/target/MSHADE-195-example-1-SNAPSHOT-shaded-sources.jar
> [INFO] Dependency-reduced POM written at: /Users/kama/ws-git/apache/mshade/mshade-195/dependency-reduced-pom.xml
> [INFO]
> [INFO] --- maven-install-plugin:2.5.2:install (default-install) @ MSHADE-195-example
---
> [INFO] Installing /Users/kama/ws-git/apache/mshade/mshade-195/target/MSHADE-195-example-1-SNAPSHOT.jar
to /Users/kama/.m2/repository/com/example/MSHADE-195-example/1-SNAPSHOT/MSHADE-195-example-1-SNAPSHOT.jar
> [INFO] Installing /Users/kama/ws-git/apache/mshade/mshade-195/dependency-reduced-pom.xml
to /Users/kama/.m2/repository/com/example/MSHADE-195-example/1-SNAPSHOT/MSHADE-195-example-1-SNAPSHOT.pom
> [INFO] Installing /Users/kama/ws-git/apache/mshade/mshade-195/target/MSHADE-195-example-1-SNAPSHOT-sources.jar
to /Users/kama/.m2/repository/com/example/MSHADE-195-example/1-SNAPSHOT/MSHADE-195-example-1-SNAPSHOT-sources.jar
> [INFO] Installing /Users/kama/ws-git/apache/mshade/mshade-195/target/MSHADE-195-example-1-SNAPSHOT-sources.jar
to /Users/kama/.m2/repository/com/example/MSHADE-195-example/1-SNAPSHOT/MSHADE-195-example-1-SNAPSHOT-sources.jar
> [INFO] 
> {noformat}
> Install plugin tries to install two identical artifacts which will work for maven-install-plugin
but would fail a deploy to repository manager (for releases) etc.
> So after diving into the problem i found the following code in maven-core (MavenProject.java):
> {code:java}
>     /**
>      * Add or replace an artifact. This method is now deprecated. Use the @{MavenProjectHelper}
to attach artifacts to a
>      * project. In spite of the 'throws' declaration on this API, this method has never
thrown an exception since Maven
>      * 3.0.x. Historically, it logged and ignored a second addition of the same g/a/v/c/t.
Now it replaces the file for
>      * the artifact, so that plugins (e.g. shade) can change the pathname of the file
for a particular set of
>      * coordinates.
>      *
>      * @param artifact the artifact to add or replace.
>      * @throws DuplicateArtifactAttachmentException
>      */
>     public void addAttachedArtifact( Artifact artifact )
>         throws DuplicateArtifactAttachmentException
>     {
>         getAttachedArtifacts().add( artifact );
>     }
>     public List<Artifact> getAttachedArtifacts()
>     {
>         if ( attachedArtifacts == null )
>         {
>             attachedArtifacts = new ArrayList<>();
>         }
>         return attachedArtifacts;
>     }
> {code}
> So taking a look into MavenProjectHelper.java and the implementation (DefaultMavenProjectHelper.java).
> {code:java}
>     /**
>      * Add an attached artifact or replace the file for an existing artifact.
>      *
>      * @see MavenProject#addAttachedArtifact(org.apache.maven.artifact.Artifact)
>      * @param project project reference.
>      * @param artifact artifact to add or replace.
>      */
>     public void attachArtifact( MavenProject project, Artifact artifact )
>     {
>         project.addAttachedArtifact( artifact );
>     }
> {code}
> which means that there is not check if an artifacts is already attached.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message