[jira] [Commented] (NPANDAY-411) Transitive dependency resolution requires explicit version in a dependent child pom

2011-06-10 Thread Brennan Gaunce (JIRA)

[ 
https://issues.apache.org/jira/browse/NPANDAY-411?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13047746#comment-13047746
 ] 

Brennan Gaunce commented on NPANDAY-411:


In addition, it appears that properties cannot be used as versions, which 
increases the need for specifying the version in the parent pom for a large 
multi-module project.

 Transitive dependency resolution requires explicit version in a dependent 
 child pom
 ---

 Key: NPANDAY-411
 URL: https://issues.apache.org/jira/browse/NPANDAY-411
 Project: NPanday
  Issue Type: Bug
  Components: Maven Plugins
Affects Versions: 1.4-incubating
 Environment: $ mvn -v
 Apache Maven 2.2.1 (rdebian-4)
 Java version: 1.6.0_24
 Java home: /usr/lib/jvm/java-6-sun-1.6.0.24/jre
 Default locale: en_US, platform encoding: UTF-8
 OS name: linux version: 2.6.35-28-generic arch: amd64 Family: unix
Reporter: John R. Fallows
 Fix For: 2.0


 In the past, NPanday required the version of a dependency in pom.xml to be 
 explicit, whereas now that has been fixed so that a parent pom.xml can 
 specify the version in the dependencyManagement section instead.
 Suppose we have 3 projects called Parent, Library and Executable. The Parent 
 pom refers to both Library and Executable projects as modules, and also acts 
 as the super pom for both Library and Executable projects. The Executable 
 project depends on the Library project.  The Parent project defaults the 
 version of another dotnet-library (let's say ThirdParty) used by the Library 
 project in the Parent's dependencyManagement section.
 The Library project builds successfully.  However, when attempting to build 
 the Executable project, it complains during dependency resolution that the 
 version is missing from ThirdParty and the build fails.  Now, while the 
 version is physically missing from the Library pom.xml file, it is not 
 missing from the effective pom for the Library and should therefore not give 
 any error, just as no error is given when the Library project builds.
 {code}
 WARNING: NPANDAY-180-003: Project Version is missing: Group Id = NUnit, 
 Artifact Id = NUnit.Framework
 [INFO] 
 
 [ERROR] FATAL ERROR
 [INFO] 
 
 [INFO] null
 [INFO] 
 
 [INFO] Trace
 java.lang.NullPointerException
   at npanday.dao.Project.hashCode(Project.java:329)
   at java.util.HashMap.put(HashMap.java:372)
   at java.util.HashSet.add(HashSet.java:200)
   at npanday.dao.Project.addProjectDependency(Project.java:204)
   at npanday.dao.ProjectFactory.createProjectFrom(ProjectFactory.java:147)
   at 
 npanday.dao.impl.ProjectDaoImpl.storeProjectAndResolveDependencies(ProjectDaoImpl.java:866)
   at 
 npanday.dao.impl.ProjectDaoImpl.storeProjectAndResolveDependencies(ProjectDaoImpl.java:414)
   at 
 npanday.artifact.impl.AssemblyResolverImpl.resolveTransitivelyFor(AssemblyResolverImpl.java:131)
   at 
 npanday.plugin.compile.ComponentInitializerMojo.execute(ComponentInitializerMojo.java:86)
   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.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
   at 
 org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
   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)
   

[jira] [Commented] (NPANDAY-411) Transitive dependency resolution requires explicit version in a dependent child pom

2011-04-20 Thread Brett Porter (JIRA)

[ 
https://issues.apache.org/jira/browse/NPANDAY-411?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13022165#comment-13022165
 ] 

Brett Porter commented on NPANDAY-411:
--

The original issue was worked around, but the root issue is that NPanday 
doesn't use Maven's POM construction and resolution, but reproduces much of it 
it imperfectly. We're in a long process of removing that.


 Transitive dependency resolution requires explicit version in a dependent 
 child pom
 ---

 Key: NPANDAY-411
 URL: https://issues.apache.org/jira/browse/NPANDAY-411
 Project: NPanday
  Issue Type: Bug
  Components: Maven Plugins
Affects Versions: 1.3.1-incubating
 Environment: $ mvn -v
 Apache Maven 2.2.1 (rdebian-4)
 Java version: 1.6.0_24
 Java home: /usr/lib/jvm/java-6-sun-1.6.0.24/jre
 Default locale: en_US, platform encoding: UTF-8
 OS name: linux version: 2.6.35-28-generic arch: amd64 Family: unix
Reporter: John R. Fallows

 In the past, NPanday required the version of a dependency in pom.xml to be 
 explicit, whereas now that has been fixed so that a parent pom.xml can 
 specify the version in the dependencyManagement section instead.
 Suppose we have 3 projects called Parent, Library and Executable. The Parent 
 pom refers to both Library and Executable projects as modules, and also acts 
 as the super pom for both Library and Executable projects. The Executable 
 project depends on the Library project.  The Parent project defaults the 
 version of another dotnet-library (let's say ThirdParty) used by the Library 
 project in the Parent's dependencyManagement section.
 The Library project builds successfully.  However, when attempting to build 
 the Executable project, it complains during dependency resolution that the 
 version is missing from ThirdParty and the build fails.  Now, while the 
 version is physically missing from the Library pom.xml file, it is not 
 missing from the effective pom for the Library and should therefore not give 
 any error, just as no error is given when the Library project builds.
 {code}
 WARNING: NPANDAY-180-003: Project Version is missing: Group Id = NUnit, 
 Artifact Id = NUnit.Framework
 [INFO] 
 
 [ERROR] FATAL ERROR
 [INFO] 
 
 [INFO] null
 [INFO] 
 
 [INFO] Trace
 java.lang.NullPointerException
   at npanday.dao.Project.hashCode(Project.java:329)
   at java.util.HashMap.put(HashMap.java:372)
   at java.util.HashSet.add(HashSet.java:200)
   at npanday.dao.Project.addProjectDependency(Project.java:204)
   at npanday.dao.ProjectFactory.createProjectFrom(ProjectFactory.java:147)
   at 
 npanday.dao.impl.ProjectDaoImpl.storeProjectAndResolveDependencies(ProjectDaoImpl.java:866)
   at 
 npanday.dao.impl.ProjectDaoImpl.storeProjectAndResolveDependencies(ProjectDaoImpl.java:414)
   at 
 npanday.artifact.impl.AssemblyResolverImpl.resolveTransitivelyFor(AssemblyResolverImpl.java:131)
   at 
 npanday.plugin.compile.ComponentInitializerMojo.execute(ComponentInitializerMojo.java:86)
   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.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
   at 
 org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
   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 

[jira] [Commented] (NPANDAY-411) Transitive dependency resolution requires explicit version in a dependent child pom

2011-04-19 Thread John R. Fallows (JIRA)

[ 
https://issues.apache.org/jira/browse/NPANDAY-411?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13021863#comment-13021863
 ] 

John R. Fallows commented on NPANDAY-411:
-

This issue reproduces both when the ThirdParty dependency is test scope _and_ 
when scope is omitted (default=compile scope).

 Transitive dependency resolution requires explicit version in a dependent 
 child pom
 ---

 Key: NPANDAY-411
 URL: https://issues.apache.org/jira/browse/NPANDAY-411
 Project: NPanday
  Issue Type: Bug
  Components: Maven Plugins
Affects Versions: 1.3.1-incubating
 Environment: $ mvn -v
 Apache Maven 2.2.1 (rdebian-4)
 Java version: 1.6.0_24
 Java home: /usr/lib/jvm/java-6-sun-1.6.0.24/jre
 Default locale: en_US, platform encoding: UTF-8
 OS name: linux version: 2.6.35-28-generic arch: amd64 Family: unix
Reporter: John R. Fallows

 In the past, NPanday required the version of a dependency in pom.xml to be 
 explicit, whereas now that has been fixed so that a parent pom.xml can 
 specify the version in the dependencyManagement section instead.
 Suppose we have 3 projects called Parent, Library and Executable. The Parent 
 pom refers to both Library and Executable projects as modules, and also acts 
 as the super pom for both Library and Executable projects. The Executable 
 project depends on the Library project.  The Parent project defaults the 
 version of another dotnet-library (let's say ThirdParty) used by the Library 
 project in the Parent's dependencyManagement section.
 The Library project builds successfully.  However, when attempting to build 
 the Executable project, it complains during dependency resolution that the 
 version is missing from ThirdParty and the build fails.  Now, while the 
 version is physically missing from the Library pom.xml file, it is not 
 missing from the effective pom for the Library and should therefore not give 
 any error, just as no error is given when the Library project builds.
 {code}
 WARNING: NPANDAY-180-003: Project Version is missing: Group Id = NUnit, 
 Artifact Id = NUnit.Framework
 [INFO] 
 
 [ERROR] FATAL ERROR
 [INFO] 
 
 [INFO] null
 [INFO] 
 
 [INFO] Trace
 java.lang.NullPointerException
   at npanday.dao.Project.hashCode(Project.java:329)
   at java.util.HashMap.put(HashMap.java:372)
   at java.util.HashSet.add(HashSet.java:200)
   at npanday.dao.Project.addProjectDependency(Project.java:204)
   at npanday.dao.ProjectFactory.createProjectFrom(ProjectFactory.java:147)
   at 
 npanday.dao.impl.ProjectDaoImpl.storeProjectAndResolveDependencies(ProjectDaoImpl.java:866)
   at 
 npanday.dao.impl.ProjectDaoImpl.storeProjectAndResolveDependencies(ProjectDaoImpl.java:414)
   at 
 npanday.artifact.impl.AssemblyResolverImpl.resolveTransitivelyFor(AssemblyResolverImpl.java:131)
   at 
 npanday.plugin.compile.ComponentInitializerMojo.execute(ComponentInitializerMojo.java:86)
   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.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
   at 
 org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
   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