Version ranges in dependencies cause NPE in versions:use-latest-versions when 
-Dincludes excludes the dependency
----------------------------------------------------------------------------------------------------------------

                 Key: MVERSIONS-140
                 URL: http://jira.codehaus.org/browse/MVERSIONS-140
             Project: Maven 2.x Versions Plugin
          Issue Type: Bug
    Affects Versions: 1.2
         Environment: Maven 2.2.1 (debian squeeze)
            Reporter: Peter Schuller


We had a pom.xml that had this dependency on jetty:

                <dependency>
                        <groupId>org.mortbay.jetty</groupId>
                        <artifactId>jetty</artifactId>
                        <version>[6.1.6,)</version>
                </dependency>

When running:

   mvn versions:use-latest-versions -Dincludes=our.group.id

It fails with this strack trace:


java.lang.NullPointerException: version was null for org.mortbay.jetty:jetty
        at 
org.apache.maven.artifact.DefaultArtifact.getBaseVersion(DefaultArtifact.java:390)
        at 
org.apache.maven.artifact.DefaultArtifact.getId(DefaultArtifact.java:225)
        at 
org.apache.maven.shared.artifact.filter.PatternIncludesArtifactFilter.match(PatternIncludesArtifactFilter.java:136)
        at 
org.apache.maven.shared.artifact.filter.PatternIncludesArtifactFilter.positiveMatch(PatternIncludesArtifactFilter.java:128)
        at 
org.apache.maven.shared.artifact.filter.PatternIncludesArtifactFilter.patternMatches(PatternIncludesArtifactFilter.java:100)
        at 
org.apache.maven.shared.artifact.filter.PatternIncludesArtifactFilter.include(PatternIncludesArtifactFilter.java:88)
        at 
org.codehaus.mojo.versions.AbstractVersionsDependencyUpdaterMojo.isIncluded(AbstractVersionsDependencyUpdaterMojo.java:337)
        at 
org.codehaus.mojo.versions.UseLatestVersionsMojo.useLatestVersions(UseLatestVersionsMojo.java:98)
        at 
org.codehaus.mojo.versions.UseLatestVersionsMojo.update(UseLatestVersionsMojo.java:72)
        at 
org.codehaus.mojo.versions.AbstractVersionsUpdaterMojo.process(AbstractVersionsUpdaterMojo.java:315)
        at 
org.codehaus.mojo.versions.AbstractVersionsUpdaterMojo.execute(AbstractVersionsUpdaterMojo.java:250)
        at 
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:539)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
        at 
org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
        at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)

Avoiding that failure can be done in two ways:

(1) Replace by a simple 6.1.6 dependency version.
(2) Remove "-Dincludes=our.group.id".

Note that the group id being included is a completely unrelated group id which 
causes the jetty plugin to be excluded from the selection of dependencies to 
update.



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

        

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to