Thanks Stephen,

Just to clarify the docs are correct wrt the current behaviour.

(The enforcer plugin is bound to validate - but maven has to resolve the 
plugins first - so it's not an immediate failure)

/James
 
> -----Original Message-----
> From: Stephen Connolly [mailto:[email protected]]
> Sent: 14 March 2013 12:12
> To: Maven Users List
> Subject: Re: prerequisites pom inheritance
> 
> It is strange from one PoV but not so strange from another. The docs should
> probably be fixed. And if we ever do get a chance to rev up the model
> version, we should probably split it into one pre-req for inheritance and a
> separate one for consuming as a dependency and a final one (corresponding
> to the current meaning) for the pre-req to build the current project.
> 
> The field reflects the minimum version required to build the current project
> only... as such its value is probably reduced given that all maven plugins
> expose a minimum and therefore the minimum for the current project could
> be inferred from the maximum minimum of the listed plugins.... but people
> could be using antrun or other scripting features or relying on newer
> exposed properties hence the value in the pom.
> 
> Solution for now is to bind the enforcer plugin to validate :-(
> 
> 
> On 14 March 2013 11:58, James Nord (jnord) <[email protected]> wrote:
> 
> > Hi all,
> >
> > I've just realised that the "prerequisites" section of a parent pom is
> > not inherited by its children.
> >
> > This surprised me - but it is also documented that this section
> > doesn't inherit[1]
> >
> > My question is is this intentional or an oversight?
> >
> > We have a parent pom that mandates maven3 (and several plugins require
> > it) but when used in a child with Maven2 instead of the expected nice
> warning:
> >
> > [INFO] Scanning for projects...
> > [INFO]
> > ----------------------------------------------------------------------
> > --
> > [ERROR] BUILD FAILURE
> > [INFO]
> > ----------------------------------------------------------------------
> > -- [INFO] Unable to build project
> > 'C:\workarea\source\foo\base\pom.xml; it requires Maven version 3.0.4
> > [INFO]
> > ----------------------------------------------------------------------
> > --
> >
> > I am met with
> >
> > [INFO] Scanning for projects...
> > [INFO]
> > ----------------------------------------------------------------------
> > --
> > [INFO] Building Foo
> > [INFO]    task-segment: [install]
> > [INFO]
> > ----------------------------------------------------------------------
> > --
> > [INFO]
> > ----------------------------------------------------------------------
> > --
> > [ERROR] BUILD ERROR
> > [INFO]
> > ----------------------------------------------------------------------
> > -- [INFO] Error resolving version for
> > x.y.z:threadsafety-maven-plugin':
> > Plugin requires Maven version 3.0.4
> >
> > And this error doesn't come immediately (and only appears if we have a
> > plugin that requires 3.0.4)
> >
> > I found A JIRA[2] that is closed won't fix but this the comment by
> > Jason doesn't make sense to me
> >
> >
> > "The prerequisite tag is for ensuring a particular tool has the right
> > environment. Not to ensure that your developers do!
> >
> > This should not be inherited.
> >
> > The Tools (maven plugins) needs the right environment (3.0.4+)?  We
> > are inheriting plugins that require 3.0.4 so it is good to say this is
> > the case is it not and do not expect that all developers need to
> > re-add a prerequisites tag?
> >
> > Or to put it another way - the build should fail fast if it is
> > guaranteed to fail - (due to the plugin configuration/binding in the
> > parent sub projects are guaranteed to fail - unless someone overrides
> > many plugin versions and configuration).
> >
> > Regards,
> >
> > /James
> >
> > [1] http://maven.apache.org/pom.html#Inheritance
> > [2] http://jira.codehaus.org/browse/MNG-2423
> >

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to