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


Reply via email to