You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "deckrider (JIRA)" <ji...@codehaus.org> on 2009/02/25 14:47:20 UTC
[jira] Created: (MASSEMBLY-393) Cannot Override
dependencyManagement
Cannot Override dependencyManagement
------------------------------------
Key: MASSEMBLY-393
URL: http://jira.codehaus.org/browse/MASSEMBLY-393
Project: Maven 2.x Assembly Plugin
Issue Type: Bug
Affects Versions: 2.2-beta-3
Environment: maven 2.0.9,2.0.10, windows xp, debian gnu linux, solaris 10
Reporter: deckrider
Attachments: my-app.zip
This was not a problem in 2.2-beta-2.
I've provided a test case. It should produce a zip file containing log4j-1.2.14.jar but instead contains log4j-1.2.12.jar
To run the test case:
unzip my-app.zip
cd my-app.zip
mvn clean package
This is critical for us, because we have a master parent pom where we keep all our versions in a dependencyManagement section, but on occasion we want to override them. Upgrading from 2.2-beta-2 to 2.2-beta-3 broke that ability.
--
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
[jira] Issue Comment Edited: (MASSEMBLY-393) Cannot Override
dependencyManagement
Posted by "deckrider (JIRA)" <ji...@codehaus.org>.
[ http://jira.codehaus.org/browse/MASSEMBLY-393?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=166984#action_166984 ]
deckrider edited comment on MASSEMBLY-393 at 2/25/09 8:22 AM:
--------------------------------------------------------------
FYI, using the attached example, the maven dependency plugin gets it right:
{noformat}
mvn org.apache.maven.plugins:maven-dependency-plugin:2.1:tree
[INFO] ------------------------------------------------------------------------
[INFO] Building my-app
[INFO] task-segment: [org.apache.maven.plugins:maven-dependency-plugin:2.1:tree]
[INFO] ------------------------------------------------------------------------
[INFO] [dependency:tree]
[INFO] com.mycompany.app:my-app:jar:1.0-SNAPSHOT
[INFO] \- log4j:log4j:jar:1.2.14:compile
[INFO] ------------------------------------------------------------------------
{noformat}
And yet it still shows log4j-1.2.12.jar in the zip file:
{noformat}
unzip -l target/my-app-1.0-SNAPSHOT.zip
Archive: target/my-app-1.0-SNAPSHOT.zip
Length Date Time Name
-------- ---- ---- ----
0 02-25-09 07:00 my-app-1.0-SNAPSHOT/
0 02-25-09 07:00 my-app-1.0-SNAPSHOT/foo/
358085 02-25-09 07:00 my-app-1.0-SNAPSHOT/foo/log4j-1.2.12.jar
1701 02-25-09 07:00 my-app-1.0-SNAPSHOT/foo/my-app-1.0-SNAPSHOT.jar
-------- -------
359786 4 files
{noformat}
was (Author: deckrider):
FYI, using the attached example, the maven dependency plugin gets it right:
{noformat}
mvn org.apache.maven.plugins:maven-dependency-plugin:2.1:tree
[INFO] ------------------------------------------------------------------------
[INFO] Building my-app
[INFO] task-segment: [org.apache.maven.plugins:maven-dependency-plugin:2.1:tree]
[INFO] ------------------------------------------------------------------------
[INFO] [dependency:tree]
[INFO] com.mycompany.app:my-app:jar:1.0-SNAPSHOT
[INFO] \- log4j:log4j:jar:1.2.14:compile
[INFO] ------------------------------------------------------------------------
{noformat}
And yet it still shows log4j-1.2.12.jar in the zip file:
{noformat}
unzip -l target/my-app-1.0-SNAPSHOT.zip
Archive: target/my-app-1.0-SNAPSHOT.zip
Length Date Time Name
-------- ---- ---- ----
0 02-25-09 07:00 my-app-1.0-SNAPSHOT/
0 02-25-09 07:00 my-app-1.0-SNAPSHOT/foo/
358085 02-25-09 07:00 my-app-1.0-SNAPSHOT/foo/log4j-1.2.12.jar
1701 02-25-09 07:00 my-app-1.0-SNAPSHOT/foo/my-app-1.0-SNAPSHOT.jar
-------- -------
359786 4 files
{noformat}
> Cannot Override dependencyManagement
> ------------------------------------
>
> Key: MASSEMBLY-393
> URL: http://jira.codehaus.org/browse/MASSEMBLY-393
> Project: Maven 2.x Assembly Plugin
> Issue Type: Bug
> Affects Versions: 2.2-beta-3
> Environment: maven 2.0.9,2.0.10, windows xp, debian gnu linux, solaris 10
> Reporter: deckrider
> Attachments: my-app-pom-packaging.zip, my-app.zip
>
>
> This was not a problem in 2.2-beta-2.
> I've provided a test case. It should produce a zip file containing log4j-1.2.14.jar but instead contains log4j-1.2.12.jar
> To run the test case:
> unzip my-app.zip
> cd my-app.zip
> mvn clean package
> This is critical for us, because we have a master parent pom where we keep all our versions in a dependencyManagement section, but on occasion we want to override them. Upgrading from 2.2-beta-2 to 2.2-beta-3 broke that ability.
--
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
[jira] Issue Comment Edited: (MASSEMBLY-393) Cannot Override
dependencyManagement
Posted by "deckrider (JIRA)" <ji...@codehaus.org>.
[ http://jira.codehaus.org/browse/MASSEMBLY-393?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=166989#action_166989 ]
deckrider edited comment on MASSEMBLY-393 at 2/25/09 8:28 AM:
--------------------------------------------------------------
Uploaded an altered case which uses pom packaging instead of jar packaging.
was (Author: deckrider):
Use pom packaging instead of jar packaging.
> Cannot Override dependencyManagement
> ------------------------------------
>
> Key: MASSEMBLY-393
> URL: http://jira.codehaus.org/browse/MASSEMBLY-393
> Project: Maven 2.x Assembly Plugin
> Issue Type: Bug
> Affects Versions: 2.2-beta-3
> Environment: maven 2.0.9,2.0.10, windows xp, debian gnu linux, solaris 10
> Reporter: deckrider
> Attachments: my-app-pom-packaging.zip, my-app.zip
>
>
> This was not a problem in 2.2-beta-2.
> I've provided a test case. It should produce a zip file containing log4j-1.2.14.jar but instead contains log4j-1.2.12.jar
> To run the test case:
> unzip my-app.zip
> cd my-app.zip
> mvn clean package
> This is critical for us, because we have a master parent pom where we keep all our versions in a dependencyManagement section, but on occasion we want to override them. Upgrading from 2.2-beta-2 to 2.2-beta-3 broke that ability.
--
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
[jira] Commented: (MASSEMBLY-393) Cannot Override
dependencyManagement
Posted by "Chetan Mehrotra (JIRA)" <ji...@codehaus.org>.
[ http://jira.codehaus.org/browse/MASSEMBLY-393?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=226779#action_226779 ]
Chetan Mehrotra commented on MASSEMBLY-393:
-------------------------------------------
I am also facing a similar issue with 2.2-beta-5. For now I am using the workaround where I am re-specifying the dependencies in a dependencyManagement section of the child pom
>From the code in manageArtifact in DefaultDependencyResolver
{code:java}
// Copied from DefaultArtifactCollector, SVN: http://svn.apache.org/repos/asf/maven/components/branches/maven-2.1.x@679206
// with modifications to work with non-transitive resolution processes.
protected void manageArtifact( Artifact targetArtifact, Map managedVersions )
{
Artifact artifact = (Artifact) managedVersions.get( targetArtifact.getDependencyConflictId() );
if ( artifact == null )
{
return;
}
// Before we update the version of the artifact, we need to know
// whether we are working on a transitive dependency or not. This
// allows depMgmt to always override transitive dependencies, while
// explicit child override depMgmt (viz. depMgmt should only
// provide defaults to children, but should override transitives).
// We can do this by calling isChildOfRootNode on the current node.
if ( artifact.getVersion() != null )
{
if ( getLogger().isDebugEnabled() )
{
getLogger().debug( "Managing version for: " + targetArtifact.getDependencyConflictId() + " to: " + artifact.getVersion() );
}
targetArtifact.setVersion( artifact.getVersion() );
}
if ( artifact.getScope() != null )
{
if ( getLogger().isDebugEnabled() )
{
getLogger().debug( "Managing scope for: " + targetArtifact.getDependencyConflictId() + " to: " + artifact.getScope() );
}
targetArtifact.setScope( artifact.getScope() );
}
}
{code}
The comment indicates that intention is correct but the code says otherwise.
And looking at [DefaultArtifactCollector|http://svn.apache.org/repos/asf/maven/maven-2/branches/maven-2.2.x/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java] it looks like it is handled there
> Cannot Override dependencyManagement
> ------------------------------------
>
> Key: MASSEMBLY-393
> URL: http://jira.codehaus.org/browse/MASSEMBLY-393
> Project: Maven 2.x Assembly Plugin
> Issue Type: Bug
> Affects Versions: 2.2-beta-3
> Environment: maven 2.0.9,2.0.10, windows xp, debian gnu linux, solaris 10
> Reporter: deckrider
> Attachments: my-app-pom-packaging.zip, my-app.zip
>
>
> This was not a problem in 2.2-beta-2.
> I've provided a test case. It should produce a zip file containing log4j-1.2.14.jar but instead contains log4j-1.2.12.jar
> To run the test case:
> unzip my-app.zip
> cd my-app.zip
> mvn clean package
> This is critical for us, because we have a master parent pom where we keep all our versions in a dependencyManagement section, but on occasion we want to override them. Upgrading from 2.2-beta-2 to 2.2-beta-3 broke that ability.
--
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
[jira] Commented: (MASSEMBLY-393) Cannot Override
dependencyManagement
Posted by "deckrider (JIRA)" <ji...@codehaus.org>.
[ http://jira.codehaus.org/browse/MASSEMBLY-393?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=166984#action_166984 ]
deckrider commented on MASSEMBLY-393:
-------------------------------------
FYI, using the attached example, the maven dependency plugin gets it right:
mvn org.apache.maven.plugins:maven-dependency-plugin:2.1:tree
[INFO] ------------------------------------------------------------------------
[INFO] Building my-app
[INFO] task-segment: [org.apache.maven.plugins:maven-dependency-plugin:2.1:tree]
[INFO] ------------------------------------------------------------------------
[INFO] [dependency:tree]
[INFO] com.mycompany.app:my-app:jar:1.0-SNAPSHOT
[INFO] \- log4j:log4j:jar:1.2.14:compile
[INFO] ------------------------------------------------------------------------
And yet it still shows log4j-1.2.12.jar in the zip file:
unzip -l target/my-app-1.0-SNAPSHOT.zip
Archive: target/my-app-1.0-SNAPSHOT.zip
Length Date Time Name
-------- ---- ---- ----
0 02-25-09 07:00 my-app-1.0-SNAPSHOT/
0 02-25-09 07:00 my-app-1.0-SNAPSHOT/foo/
358085 02-25-09 07:00 my-app-1.0-SNAPSHOT/foo/log4j-1.2.12.jar
1701 02-25-09 07:00 my-app-1.0-SNAPSHOT/foo/my-app-1.0-SNAPSHOT.jar
-------- -------
359786 4 files
> Cannot Override dependencyManagement
> ------------------------------------
>
> Key: MASSEMBLY-393
> URL: http://jira.codehaus.org/browse/MASSEMBLY-393
> Project: Maven 2.x Assembly Plugin
> Issue Type: Bug
> Affects Versions: 2.2-beta-3
> Environment: maven 2.0.9,2.0.10, windows xp, debian gnu linux, solaris 10
> Reporter: deckrider
> Attachments: my-app.zip
>
>
> This was not a problem in 2.2-beta-2.
> I've provided a test case. It should produce a zip file containing log4j-1.2.14.jar but instead contains log4j-1.2.12.jar
> To run the test case:
> unzip my-app.zip
> cd my-app.zip
> mvn clean package
> This is critical for us, because we have a master parent pom where we keep all our versions in a dependencyManagement section, but on occasion we want to override them. Upgrading from 2.2-beta-2 to 2.2-beta-3 broke that ability.
--
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
[jira] Commented: (MASSEMBLY-393) Cannot Override
dependencyManagement
Posted by "deckrider (JIRA)" <ji...@codehaus.org>.
[ http://jira.codehaus.org/browse/MASSEMBLY-393?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=166987#action_166987 ]
deckrider commented on MASSEMBLY-393:
-------------------------------------
I see I forgot to change ...
<packaging>jar</packaging>
... to ...
<packaging>pom</packaging>
... in the test case, but after doing so, it doesn't alter the reported issue.
> Cannot Override dependencyManagement
> ------------------------------------
>
> Key: MASSEMBLY-393
> URL: http://jira.codehaus.org/browse/MASSEMBLY-393
> Project: Maven 2.x Assembly Plugin
> Issue Type: Bug
> Affects Versions: 2.2-beta-3
> Environment: maven 2.0.9,2.0.10, windows xp, debian gnu linux, solaris 10
> Reporter: deckrider
> Attachments: my-app.zip
>
>
> This was not a problem in 2.2-beta-2.
> I've provided a test case. It should produce a zip file containing log4j-1.2.14.jar but instead contains log4j-1.2.12.jar
> To run the test case:
> unzip my-app.zip
> cd my-app.zip
> mvn clean package
> This is critical for us, because we have a master parent pom where we keep all our versions in a dependencyManagement section, but on occasion we want to override them. Upgrading from 2.2-beta-2 to 2.2-beta-3 broke that ability.
--
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
[jira] Closed: (MASSEMBLY-393) Cannot Override dependencyManagement
Posted by "John Casey (JIRA)" <ji...@codehaus.org>.
[ http://jira.codehaus.org/browse/MASSEMBLY-393?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
John Casey closed MASSEMBLY-393.
--------------------------------
Resolution: Fixed
Fix Version/s: 2.2-beta-6
Assignee: John Casey
> Cannot Override dependencyManagement
> ------------------------------------
>
> Key: MASSEMBLY-393
> URL: http://jira.codehaus.org/browse/MASSEMBLY-393
> Project: Maven 2.x Assembly Plugin
> Issue Type: Bug
> Affects Versions: 2.2-beta-3
> Environment: maven 2.0.9,2.0.10, windows xp, debian gnu linux, solaris 10
> Reporter: deckrider
> Assignee: John Casey
> Fix For: 2.2-beta-6
>
> Attachments: my-app-pom-packaging.zip, my-app.zip
>
>
> This was not a problem in 2.2-beta-2.
> I've provided a test case. It should produce a zip file containing log4j-1.2.14.jar but instead contains log4j-1.2.12.jar
> To run the test case:
> unzip my-app.zip
> cd my-app.zip
> mvn clean package
> This is critical for us, because we have a master parent pom where we keep all our versions in a dependencyManagement section, but on occasion we want to override them. Upgrading from 2.2-beta-2 to 2.2-beta-3 broke that ability.
--
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
[jira] Issue Comment Edited: (MASSEMBLY-393) Cannot Override
dependencyManagement
Posted by "deckrider (JIRA)" <ji...@codehaus.org>.
[ http://jira.codehaus.org/browse/MASSEMBLY-393?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=166984#action_166984 ]
deckrider edited comment on MASSEMBLY-393 at 2/25/09 8:19 AM:
--------------------------------------------------------------
FYI, using the attached example, the maven dependency plugin gets it right:
{noformat}
mvn org.apache.maven.plugins:maven-dependency-plugin:2.1:tree
[INFO] ------------------------------------------------------------------------
[INFO] Building my-app
[INFO] task-segment: [org.apache.maven.plugins:maven-dependency-plugin:2.1:tree]
[INFO] ------------------------------------------------------------------------
[INFO] [dependency:tree]
[INFO] com.mycompany.app:my-app:jar:1.0-SNAPSHOT
[INFO] \- log4j:log4j:jar:1.2.14:compile
[INFO] ------------------------------------------------------------------------
{noformat}
And yet it still shows log4j-1.2.12.jar in the zip file:
{noformat}
unzip -l target/my-app-1.0-SNAPSHOT.zip
Archive: target/my-app-1.0-SNAPSHOT.zip
Length Date Time Name
-------- ---- ---- ----
0 02-25-09 07:00 my-app-1.0-SNAPSHOT/
0 02-25-09 07:00 my-app-1.0-SNAPSHOT/foo/
358085 02-25-09 07:00 my-app-1.0-SNAPSHOT/foo/log4j-1.2.12.jar
1701 02-25-09 07:00 my-app-1.0-SNAPSHOT/foo/my-app-1.0-SNAPSHOT.jar
-------- -------
359786 4 files
{noformat}
was (Author: deckrider):
FYI, using the attached example, the maven dependency plugin gets it right:
mvn org.apache.maven.plugins:maven-dependency-plugin:2.1:tree
[INFO] ------------------------------------------------------------------------
[INFO] Building my-app
[INFO] task-segment: [org.apache.maven.plugins:maven-dependency-plugin:2.1:tree]
[INFO] ------------------------------------------------------------------------
[INFO] [dependency:tree]
[INFO] com.mycompany.app:my-app:jar:1.0-SNAPSHOT
[INFO] \- log4j:log4j:jar:1.2.14:compile
[INFO] ------------------------------------------------------------------------
And yet it still shows log4j-1.2.12.jar in the zip file:
unzip -l target/my-app-1.0-SNAPSHOT.zip
Archive: target/my-app-1.0-SNAPSHOT.zip
Length Date Time Name
-------- ---- ---- ----
0 02-25-09 07:00 my-app-1.0-SNAPSHOT/
0 02-25-09 07:00 my-app-1.0-SNAPSHOT/foo/
358085 02-25-09 07:00 my-app-1.0-SNAPSHOT/foo/log4j-1.2.12.jar
1701 02-25-09 07:00 my-app-1.0-SNAPSHOT/foo/my-app-1.0-SNAPSHOT.jar
-------- -------
359786 4 files
> Cannot Override dependencyManagement
> ------------------------------------
>
> Key: MASSEMBLY-393
> URL: http://jira.codehaus.org/browse/MASSEMBLY-393
> Project: Maven 2.x Assembly Plugin
> Issue Type: Bug
> Affects Versions: 2.2-beta-3
> Environment: maven 2.0.9,2.0.10, windows xp, debian gnu linux, solaris 10
> Reporter: deckrider
> Attachments: my-app-pom-packaging.zip, my-app.zip
>
>
> This was not a problem in 2.2-beta-2.
> I've provided a test case. It should produce a zip file containing log4j-1.2.14.jar but instead contains log4j-1.2.12.jar
> To run the test case:
> unzip my-app.zip
> cd my-app.zip
> mvn clean package
> This is critical for us, because we have a master parent pom where we keep all our versions in a dependencyManagement section, but on occasion we want to override them. Upgrading from 2.2-beta-2 to 2.2-beta-3 broke that ability.
--
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
[jira] Commented: (MASSEMBLY-393) Cannot Override
dependencyManagement
Posted by "Nathan Coast (JIRA)" <ji...@codehaus.org>.
[ http://jira.codehaus.org/browse/MASSEMBLY-393?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=190639#action_190639 ]
Nathan Coast commented on MASSEMBLY-393:
----------------------------------------
confirmed, exact same issue - dependency plugin reports correct overridden version. assembly plugin uses incorrect version from parent dependency management
> Cannot Override dependencyManagement
> ------------------------------------
>
> Key: MASSEMBLY-393
> URL: http://jira.codehaus.org/browse/MASSEMBLY-393
> Project: Maven 2.x Assembly Plugin
> Issue Type: Bug
> Affects Versions: 2.2-beta-3
> Environment: maven 2.0.9,2.0.10, windows xp, debian gnu linux, solaris 10
> Reporter: deckrider
> Attachments: my-app-pom-packaging.zip, my-app.zip
>
>
> This was not a problem in 2.2-beta-2.
> I've provided a test case. It should produce a zip file containing log4j-1.2.14.jar but instead contains log4j-1.2.12.jar
> To run the test case:
> unzip my-app.zip
> cd my-app.zip
> mvn clean package
> This is critical for us, because we have a master parent pom where we keep all our versions in a dependencyManagement section, but on occasion we want to override them. Upgrading from 2.2-beta-2 to 2.2-beta-3 broke that ability.
--
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
[jira] Updated: (MASSEMBLY-393) Cannot Override
dependencyManagement
Posted by "deckrider (JIRA)" <ji...@codehaus.org>.
[ http://jira.codehaus.org/browse/MASSEMBLY-393?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
deckrider updated MASSEMBLY-393:
--------------------------------
Attachment: my-app-pom-packaging.zip
Use pom packaging instead of jar packaging.
> Cannot Override dependencyManagement
> ------------------------------------
>
> Key: MASSEMBLY-393
> URL: http://jira.codehaus.org/browse/MASSEMBLY-393
> Project: Maven 2.x Assembly Plugin
> Issue Type: Bug
> Affects Versions: 2.2-beta-3
> Environment: maven 2.0.9,2.0.10, windows xp, debian gnu linux, solaris 10
> Reporter: deckrider
> Attachments: my-app-pom-packaging.zip, my-app.zip
>
>
> This was not a problem in 2.2-beta-2.
> I've provided a test case. It should produce a zip file containing log4j-1.2.14.jar but instead contains log4j-1.2.12.jar
> To run the test case:
> unzip my-app.zip
> cd my-app.zip
> mvn clean package
> This is critical for us, because we have a master parent pom where we keep all our versions in a dependencyManagement section, but on occasion we want to override them. Upgrading from 2.2-beta-2 to 2.2-beta-3 broke that ability.
--
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