[jira] (MRELEASE-620) NPE on a range dependency

2012-04-16 Thread Jiri Patera (JIRA)

[ 
https://jira.codehaus.org/browse/MRELEASE-620?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=296603#comment-296603
 ] 

Jiri Patera commented on MRELEASE-620:
--

Just to let you know. I tested the use-case with Maven 2.2.1 and 
{{org.apache.maven.plugins:maven-release-plugin:2.2}} and the NPE still appears.

In addition I tested the issue with Maven 3.0.4 and 
{{org.apache.maven.plugins:maven-release-plugin:2.2}}. The result is without 
the exception. So this seems to be fixed in Maven 3.0.4.

{code}
$ mvn3 --version

Apache Maven 3.0.4 (r1232337; 2012-01-17 09:44:56+0100)
Maven home: /opt/apache-maven-3
Java version: 1.6.0_31, vendor: Sun Microsystems Inc.
Java home: /opt/java/jdk1.6.0_31/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.0.0-15-generic", arch: "amd64", family: "unix"

$ mvn3 org.apache.maven.plugins:maven-release-plugin:2.2:prepare -DdryRun=true

...

[INFO] Release preparation simulation complete.
[INFO] 
[INFO] BUILD SUCCESS
{code}

> NPE on a range dependency
> -
>
> Key: MRELEASE-620
> URL: https://jira.codehaus.org/browse/MRELEASE-620
> Project: Maven 2.x Release Plugin
>  Issue Type: Bug
>  Components: prepare
>Affects Versions: 2.1
> Environment: maven 2.2.1
>Reporter: Michal Politowski
> Attachments: pom.xml
>
>
> The symptoms are similar to MRELEASE-318 but using the 2.1 version which 
> should have it fixed.
> With the attached very minimal project
> {{mvn org.apache.maven.plugins:maven-release-plugin:2.1:prepare 
> -DdryRun=true}}
> results in
> {noformat}
> 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.isSnapshot(DefaultArtifact.java:562)
> at 
> org.apache.maven.shared.release.phase.CheckDependencySnapshotsPhase.checkArtifact(CheckDependencySnapshotsPhase.java:273)
> at 
> org.apache.maven.shared.release.phase.CheckDependencySnapshotsPhase.checkArtifact(CheckDependencySnapshotsPhase.java:252)
> at 
> org.apache.maven.shared.release.phase.CheckDependencySnapshotsPhase.checkProject(CheckDependencySnapshotsPhase.java:136)
> at 
> org.apache.maven.shared.release.phase.CheckDependencySnapshotsPhase.execute(CheckDependencySnapshotsPhase.java:98)
> at 
> org.apache.maven.shared.release.phase.CheckDependencySnapshotsPhase.simulate(CheckDependencySnapshotsPhase.java:290)
> at 
> org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:199)
> at 
> org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:140)
> at 
> org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:103)
> at 
> org.apache.maven.plugins.release.PrepareReleaseMojo.prepareRelease(PrepareReleaseMojo.java:279)
> at 
> org.apache.maven.plugins.release.PrepareReleaseMojo.execute(PrepareReleaseMojo.java:237)
> 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:284)
> 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:57)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:616)
> at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
> at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
> at 
> org.codehaus.classworlds.Launcher.mainW

[jira] (MNG-4831) artifact.getDependencyTrail() doesn't include full information; causes problems filtering artifacts by transitive dependency trail

2012-08-07 Thread Jiri Patera (JIRA)

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

Jiri Patera updated MNG-4831:
-

Attachment: maven-bug-simulation-MNG-4831.zip

Attached a simple example which clearly simulates this issue 
([^maven-bug-simulation-MNG-4831.zip]). One can easily play with it to see the 
results (just call {{mvn clean verify}} on the multiproject).

B and C both depend on A. In the {{result}} artifact there are two assembly 
descriptors to create two ZIP files with the dependencies. If everything 
worked, the expected output would be two ZIP files. One with B and A {{jar}} 
files. The other with C and A {{jar}} files. However, the result is one ZIP 
file with B and A {{jar}} files and the other ZIP file with C {{jar}} only.

As [~rkrell] states, one workaround is to change the order of artifacts (usable 
only for one {{maven-assembly-plugin}} configuration in the {{result}} 
artifact). The other, perhaps, to create two separate artifacts (one for each 
{{maven-assembly-plugin}} configuration) and make sure no filtering on the 
dependency tree happens. If necessary, one can play with the [Dependency 
Mediation|http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html]
 to achieve their goals... None of these workarounds seems nice.

> artifact.getDependencyTrail() doesn't include full information; causes 
> problems filtering artifacts by transitive dependency trail
> --
>
> Key: MNG-4831
> URL: https://jira.codehaus.org/browse/MNG-4831
> Project: Maven 2 & 3
>  Issue Type: Improvement
>  Components: Artifacts and Repositories
>Affects Versions: 2.2.1, 3.0-beta-3
>Reporter: John Casey
> Attachments: maven-bug-simulation-MNG-4831.zip
>
>
> Artifact.getDependencyTrail() is a List, not a graph. This means the artifact 
> doesn't include information about every artifact that depends on that 
> artifact.
> In cases where the project's artifacts are filtered using the dependency 
> trail, it can become impossible to capture the full dependency closure for an 
> included artifact if that artifact depends on something that an excluded 
> artifact also depends on.
> For a concrete example / test case of this, see MASSEMBLY-504. 
> In this example, A and B both depend on C. However, the dependencySet 
> _excludes_ B from the assembly. By luck of the draw, profile dependencies are 
> appended to the project's other dependencies, and B is in the dependencyTrail 
> of C, not A (both are valid to be there). Since transitive filtering is 
> enabled, C is _excluded_ from the assembly along with B, and the classpath 
> for A is not fully represented.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira