[ 
http://jira.codehaus.org/browse/MNG-624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_120183
 ] 

Michael McCallum commented on MNG-624:
--------------------------------------

Can we please default to forcing a parent version for build reproducibility and 
just allow variable substitution for people that really really want complicated 
builds?

A small but i think very pertinant rant...

I really feel like the problem is with the way people are setting up there 
projects and thinking about their pom hierarchies. Pom hierachies should should 
be functional rather than packaging, where as modules are packaging and not 
functional.

Consider it like a java project do you inherit all the way down a package 
hierarchy?? no because it makes not sense you inherit or implement from super 
types that give you the specific functionality that you need. e.g. assembly 
parents, webapp parents, jaxb parents.

You then group your classes together in packages as they form a component... 
similar concept with modules projects... they really only need to build similar 

Dependencies should very rarely be in parents if at all you should use standard 
OO principles to encasulate them in composites that are reused by muliple 
projects as dependencies.

I would take a very different approach and completely disallow modules projects 
from being parents and vice versa. 

We have over 145 artifacts and we release once a week... we don't have 
dependency changes littered all over the subversion logs... we use ranges and 
effective versioning processes to keep a consistent build hierarchy... its been 
a painful road thats really coming together with 2.0.8. 

my 2c ;-)

> automatic parent versioning
> ---------------------------
>
>                 Key: MNG-624
>                 URL: http://jira.codehaus.org/browse/MNG-624
>             Project: Maven 2
>          Issue Type: Improvement
>          Components: Inheritance and Interpolation
>            Reporter: Brett Porter
>            Assignee: Jason van Zyl
>            Priority: Blocker
>             Fix For: 2.1
>
>         Attachments: MNG-624-maven-2.0.x-r507648.patch, MNG-624-tests.tar.gz
>
>   Original Estimate: 4 hours
>  Remaining Estimate: 4 hours
>
> (this may be bumped to 2.1 or even made WON't FIX as it is contentious - see 
> MNG-521)
> currently, you have to specify the parent version when extending which makes 
> a project stand alone very easily, but has the drawback of being a 
> maintainance problem when you start development on a new version. Tools can 
> help, but it would be nice not to have to rely on them.
> One alternative is to allow the parent version to be omitted, and when it is 
> it is assumed you want the latest. The parent is used from the reactor or the 
> universal source directory. IT may also be read from a LATEST in the 
> repository though this is contentious - it may be better to simply fail in 
> that environment and require builds be in a known checkout structure for 
> building individual projects.
> This also introduces the need for tool support to populate the version on 
> release and deployment for reproducibility.

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