jira.codehaus.org

  • Log In Access more options
    • Online Help
    • Keyboard Shortcuts
    • About JIRA
    • JIRA Credits
    • What?s New
  • Dashboards Access more options (Alt+d)
  • Projects Access more options (Alt+p)
  • Issues Access more options (Alt+i)
  • Maven 2 & 3
  • MNG-2172

<dependencyManagement><dependency><version>'s are not used when evaluating <plugin><dependencies><dependency>

  • Log In
  • Views
    • XML
    • Word
    • Printable

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Won't Fix
  • Affects Version/s: None
  • Fix Version/s: None
  • Component/s: Inheritance and Interpolation
  • Labels:
    None
  • Environment:
    2.0.2-SNAPSHOT
  • Complexity:
    Intermediate

Description

dep management is not honoured for plugins dep evaluation.

<kenney> hm.. looks like inheritance, after investigating.. the MavenMetaDataSource doesn't use the MavenProject.getDependencyManagement
<kenney> jah.. found it.
<jallen> NICE, estimate... 30 mins or 30 hrs?
<kenney> 30 mins
<kenney> the maven-project DefaultMavenProjectBuilder uses a different method in the ArtifactResolved to resolve deps than the maven-core DefaultPluginManager
<kenney> but all the info is available..

Issue Links

relates to

Bug - A problem which impairs or prevents the functions of the product. MNG-2496 dependencyManagement not used for dependencies in plugin section.

  • Major - Major loss of function.
  • Closed - The issue is considered finished, the resolution is correct. Issues which are not closed can be reopened.

Activity

Ascending order - Click to sort in descending order
  • All
  • Comments
  • Work Log
  • History
  • Activity
Hide
Permalink
Kenney Westerhof added a comment - 23/Mar/06 6:04 AM

Related sources:

maven-project/.../DefaultMavenProjectBuilder.java, line 320: call to createManagedVersionMap.
Proposal: move to MavenProject.

Line 340: call to ArtifactResolver.resolveTransitively( ..., ..., managedVersionMap, ...);

maven-core/.../DefaultPluginManager.java, line 608. Call to ArtifactResolver.resolveTransitively(.., ..., ...)
(without the managedVersionMap).

Proposal: add call to moved createManagedVersionMap function as a parameter.

Show
Kenney Westerhof added a comment - 23/Mar/06 6:04 AM Related sources: maven-project/.../DefaultMavenProjectBuilder.java, line 320: call to createManagedVersionMap. Proposal: move to MavenProject. Line 340: call to ArtifactResolver.resolveTransitively( ..., ..., managedVersionMap, ...); maven-core/.../DefaultPluginManager.java, line 608. Call to ArtifactResolver.resolveTransitively(.., ..., ...) (without the managedVersionMap). Proposal: add call to moved createManagedVersionMap function as a parameter.
Hide
Permalink
John Allen added a comment - 07/Feb/07 3:44 PM

Been an age can this be looked at for 2.1?

Show
John Allen added a comment - 07/Feb/07 3:44 PM Been an age can this be looked at for 2.1?
Hide
Permalink
Jason van Zyl added a comment - 04/Jun/07 11:34 PM

The dependencyManagement element is not for managing plugins or extension.

Show
Jason van Zyl added a comment - 04/Jun/07 11:34 PM The dependencyManagement element is not for managing plugins or extension.
Hide
Permalink
Barrie Treloar added a comment - 05/Jun/07 12:33 AM

Jason is saying that plugin dependencies must be partitioned from the artifacts dependencies.

See http://jira.codehaus.org/browse/MNG-2496#action_98367 for a more detailed explanation.

Show
Barrie Treloar added a comment - 05/Jun/07 12:33 AM Jason is saying that plugin dependencies must be partitioned from the artifacts dependencies. See http://jira.codehaus.org/browse/MNG-2496#action_98367 for a more detailed explanation.
Hide
Permalink
John Allen added a comment - 10/Jul/07 5:52 AM

A dependency is a dependency. Dependency management is for aligning those dependencies. I think the distinction is moot but i look forward to a new way of aligning plugin dependencies that is better than relying upon ${properties}.

Show
John Allen added a comment - 10/Jul/07 5:52 AM A dependency is a dependency. Dependency management is for aligning those dependencies. I think the distinction is moot but i look forward to a new way of aligning plugin dependencies that is better than relying upon ${properties}.
Hide
Permalink
John Allen added a comment - 10/Jul/07 6:02 AM

Although i do see the point. IMHO the problem lies in the fact I can not use specifications within the POM to help manage the build setup itself (ie a 'build' scope).

Show
John Allen added a comment - 10/Jul/07 6:02 AM Although i do see the point. IMHO the problem lies in the fact I can not use specifications within the POM to help manage the build setup itself (ie a 'build' scope).
Hide
Permalink
Jörg Hohwiller added a comment - 03/Nov/10 9:44 AM

I also disagree with "Won't fix"

> The dependencyManagement element is not for managing plugins or extension.
This is not the point here.

If e.g. maven-antrun-plugin is used and one adds a dependency to ant and ant-contrib that is just a plain dependency and no plugin. This should be treated as any other dependency. And as shown by the two redundant issues on this topic it seems to be just natural to expect maven to behave like this. Without a fix on this one has to add redundant exclusions, etc. to his POMs.
Maven is really great in reducing redundancies with all the POM inheritance features and convention-over-configuration philosophy, etc.
I can not see a reason why this feature should not be added.

Show
Jörg Hohwiller added a comment - 03/Nov/10 9:44 AM I also disagree with "Won't fix" > The dependencyManagement element is not for managing plugins or extension. This is not the point here. If e.g. maven-antrun-plugin is used and one adds a dependency to ant and ant-contrib that is just a plain dependency and no plugin. This should be treated as any other dependency. And as shown by the two redundant issues on this topic it seems to be just natural to expect maven to behave like this. Without a fix on this one has to add redundant exclusions, etc. to his POMs. Maven is really great in reducing redundancies with all the POM inheritance features and convention-over-configuration philosophy, etc. I can not see a reason why this feature should not be added.
Hide
Permalink
Joerg Schaible added a comment - 03/Nov/10 1:14 PM

You silently imply that dependency management is only applied for the explicitly declared dependencies of a plugin. Applying it for all dependencies of a plugin would be desastrous and make very brittle builds, because an upgrade of a dependency of my project could break a plugin used in teh lifecycle.

Show
Joerg Schaible added a comment - 03/Nov/10 1:14 PM You silently imply that dependency management is only applied for the explicitly declared dependencies of a plugin. Applying it for all dependencies of a plugin would be desastrous and make very brittle builds, because an upgrade of a dependency of my project could break a plugin used in teh lifecycle.

People

  • Assignee:
    Jason van Zyl
    Reporter:
    John Allen
Vote (6)
Watch (7)

Dates

  • Created:
    23/Mar/06 5:56 AM
    Updated:
    03/Nov/10 1:14 PM
    Resolved:
    04/Jun/07 11:34 PM
  • Atlassian JIRA (v5.0.4#731-sha1:3aa7374)
  • Report a problem
  • Powered by a free Atlassian JIRA open source license for Codehaus. Try JIRA - bug tracking software for your team.