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

Brian Fox closed MNG-2635.
--------------------------

       Resolution: Fixed
    Fix Version/s:     (was: 2.0.10)
                   2.0.7

> 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.7
>
>         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

        

Reply via email to