You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Brian Fox (JIRA)" <ji...@codehaus.org> on 2008/03/06 04:02:28 UTC

[jira] Updated: (MNG-2635) DefaultArtifactCollector.recurse can lose versionRange

     [ http://jira.codehaus.org/browse/MNG-2635?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brian Fox updated MNG-2635:
---------------------------

    Fix Version/s:     (was: Reviewed Pending Version Assignment)
                   2.0.10

> DefaultArtifactCollector.recurse can lose versionRange
> ------------------------------------------------------
>
>                 Key: MNG-2635
>                 URL: http://jira.codehaus.org/browse/MNG-2635
>             Project: Maven 2
>          Issue Type: Bug
>          Components: Artifacts and Repositories
>         Environment: Linux
>            Reporter: Bud Osterberg
>            Assignee: Brian Fox
>             Fix For: 2.0.10
>
>         Attachments: artifact_patch
>
>
> This affects maven 2.0.4 and 2.0.5 (at least).
> I'm not quite sure how to reproduce the bug in a simple test case, but we have a setup where running the command:
>   mvn install site source:jar
> crashes in ArtifactUtils.copyArtifact because artifact.getVersionRange() returns null. 
> The code that seems to be causing the problem is in DefaultArtifactCollector.recurse(). Because the Artifact sets the version in setVersionRange, but can't set the VersionRange from setVersion, the VersionRange should take precedence if it exists. A simple diff follows:
> Index: components/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java
> ===================================================================
> --- components/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java	(revision 467177)
> +++ components/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java	(working copy)
> @@ -114,8 +114,13 @@
>  
>              fireEvent( ResolutionListener.MANAGE_ARTIFACT, listeners, node, artifact );
>  
> -            if ( artifact.getVersion() != null )
> +            VersionRange range = artifact.getVersionRange();
> +            if (range != null)
>              {
> +              node.getArtifact().setVersionRange(range);
> +            }
> +            else if ( artifact.getVersion() != null )
> +            {
>                  node.getArtifact().setVersion( artifact.getVersion() );
>              }
>              if ( artifact.getScope() != null )

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira