You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Jörg Hohwiller (JIRA)" <ji...@codehaus.org> on 2009/05/15 22:31:44 UTC

[jira] Commented: (MNG-4161) possibility to omit version in dependency of same project (and fill in on install/deploy)

    [ http://jira.codehaus.org/browse/MNG-4161?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=176678#action_176678 ] 

Jörg Hohwiller commented on MNG-4161:
-------------------------------------

Just to give an overview of the toppic:

   * MNG-624 - automatic parent versioning
   * MNG-2412 - global variable filtering of pom.xml for parent and 
     sub module pom.xml files is not working when deploying to a repository.
   * MNG-2446 - parent Pom properties not resolved for module dependencies
   * MNG-2971 - Variables are not replaced into installed pom file
   * MNG-3057 - properties not expanded in generated POMs when building A/B/C nested projects
   * MNG-3782 - [regression] Variable substition not performed in transitive dependency using value from active profile
   * MNG-4161 - possibility to omit version in dependency of same project (and fill in on install/deploy)
   * MARTIFACT-32 - Maven does not expand expressions while installing artifacts locally
   * MINSTALL-50 - provide property filtering on .pom files placed in local repo

Quite impressive list. So there seems to be a high demand in this toppic.
Maybe we should bring some things together.

> possibility to omit version in dependency of same project (and fill in on install/deploy)
> -----------------------------------------------------------------------------------------
>
>                 Key: MNG-4161
>                 URL: http://jira.codehaus.org/browse/MNG-4161
>             Project: Maven 2
>          Issue Type: New Feature
>          Components: Dependencies, Deployment
>            Reporter: Jörg Hohwiller
>
> I want to suggest a feature discussed on dev-list:
> A <dependency> currently must have <groupId>, <artifactId> and <version>.
> If you have a complex multi-module project you typically have lots of project internal dependencies.
> Typically these dependencies point to the same version that is currently active (on disc/head).
> So for the main usecase you have the version of a module redundant (a lot!)
> causing lots of maintenance overhead, that might be covered by release-plugin
> but might be not (in my case and there are others as well).
> Following the principle "Conventions over Configuration", a coming version of maven should allow
> to omit the version of a dependency if a pom.xml is loaded for a build (NOT from repository)
> AND the reactor contains a module that has the same groupId and artifactId. In that
> case maven will behave as if the version was declared in the pom.xml with the version-value of
> the module in the reactor. In any other case maven will fail.
> The feature can be combined with MNG-2576 so that it also makes sense if just a single
> module or a sub-tree of the project is to be build.
> Additionally the ArtifactInstaller and ArtifactDeployer have to guarantee, that when the pom.xml
> is installed or deployed, that the omitted version(s) are automatically filled in.
> This feature will therefore be 100% compatible with older versions of maven and will never
> be visible in the repository. If a pom is loaded from any repository (including local repo)
> maven should NOT accept it in order to avoid accidental usage or even miss usage of this feature.
> Besides it is just an option that would NOT hurt anybody not interested in the feature.
> But for those that get crazy maintaining large projects and for some reason do NOT follow
> the philosophy of release-plugin, this feature would bring final freedom!

-- 
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