Maven 2 & 3

In cases where ${version} is used in depMan we get null versions in attached artifacts

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: None
  • Fix Version/s: 2.0.6
  • Component/s: None
  • Labels:
    None
  • Complexity:
    Intermediate
  • Number of attachments :
    0

Description

This is from the Yoko build for the api module. The parent POM is here:

http://svn.apache.org/repos/asf/incubator/yoko/trunk/pom.xml

java.lang.NullPointerException
at org.apache.maven.project.artifact.AttachedArtifact.getVersion(AttachedArtifact.java:122)
at org.apache.maven.artifact.DefaultArtifact.validateIdentity(DefaultArtifact.java:147)
at org.apache.maven.artifact.DefaultArtifact.<init>(DefaultArtifact.java:122)
at org.apache.maven.project.artifact.AttachedArtifact.<init>(AttachedArtifact.java:42)
at org.apache.maven.project.DefaultMavenProjectHelper.attachArtifact(DefaultMavenProjectHelper.java:53)
at org.apache.maven.plugin.jar.AbstractJarMojo.execute(AbstractJarMojo.java:179)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:442)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:539)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:480)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:459)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:311)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:278)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:143)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:334)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:125)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:272)
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:585)
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)

Activity

Hide
Jason van Zyl added a comment -

Dan, I'm sure this is being caused by the same thing that caused the last problem in yoko. I'm sure we can track it down and fix it. For some reason artifact info is not making it though when ${version} is being used. From a brief look it seems that because depMan was never used before consistently the null makes it through in the process and just propagates because we don't check it and just assume it will be there. It resolves to an empty string which is no longer null and makes it through the gate.

Show
Jason van Zyl added a comment - Dan, I'm sure this is being caused by the same thing that caused the last problem in yoko. I'm sure we can track it down and fix it. For some reason artifact info is not making it though when ${version} is being used. From a brief look it seems that because depMan was never used before consistently the null makes it through in the process and just propagates because we don't check it and just assume it will be there. It resolves to an empty string which is no longer null and makes it through the gate.
Hide
Jason van Zyl added a comment -

This is happening when attaching test JARs. The value for the versionRange just disappears. It's there when attaching the JAR, but not there when attaching the test JAR.

Show
Jason van Zyl added a comment - This is happening when attaching test JARs. The value for the versionRange just disappears. It's there when attaching the JAR, but not there when attaching the test JAR.
Hide
Jason van Zyl added a comment -

When the range has gone null, I just create it again from the version. I've build CXF, QPid, Yoko, and Geronimo, Maven, Plexus, and the ITs and it's all working. I'll get Brian Fox to check with his build as well.

Show
Jason van Zyl added a comment - When the range has gone null, I just create it again from the version. I've build CXF, QPid, Yoko, and Geronimo, Maven, Plexus, and the ITs and it's all working. I'll get Brian Fox to check with his build as well.
Hide
Amit Phadke added a comment -

Is there any update on this issue?
I am running into the above issue when building test:jar goal with maven 3.0

Show
Amit Phadke added a comment - Is there any update on this issue? I am running into the above issue when building test:jar goal with maven 3.0

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved: