On 19 June 2014 15:48, Igor Fedorenko <[email protected]> wrote:

>
>
> On 2014-06-19, 10:30, Stephen Connolly wrote:
>
>> - Igor is*mostly*  right in that we should not deploy the pom that is used
>>
>> to build to the repository...
>> - Where Igor is wrong is that for <packaging>pom</packaging> we should
>> actually deploy the build time pom to the repository... probably with the
>> classifier `build`... this is safe as `pom` does cannot have a classifier
>> in model version 4.0.0.
>> - You couple that with a simple and obvious restriction... your parent
>> must
>> be the same or earlier version of Maven. You cannot have as a parent a
>> newer version of Maven than the child is built with.
>>
>
> I think there is more to this.
>
> At very least we need to decide what to do with <parent> in 4.0.0
> compatible poms. Maybe we should always deploy effective pom with
> build-related elements removed.
>

Well I think the simple thing is that the 4.0.0 pom is fully resolved when
you have a builder pom


>
> I am also not sure if it is enough to deploy "build" parent poms as is.
> Your suggested "parent must be the same or earlier version of Maven"
> implies new versions of Maven can read older pom formats, which I think
> will significantly limit our flexibility to evolve pom format.


They need to be able to parse it into the model. Perhaps they do the
parsing by downloading a parser. But I think it is reasonable to expect
that we can convert older build pom formats into newer ones and just let
Maven take care of it... if we cannot do that then we are really creating a
brand new build tool rather than evolving Maven


> I wonder
> if we can have different solution for force parent poms, like
> org.apache:apache, which are used by multiple projects and different
> versions of maven and project-specific parent poms, where it is much
> easier to require specific version of maven.
>

Well the simple way is we have deployed the 4.0.0 parent pom as
org.apache:apache:14:pom if you want to upgrade your parent to
org.apache:apache:15 then you will need to require Maven 4.0+ to build. If
you don't want to upgrade your build time requirements, then don't upgrade
the parent... and if we need to "fix" things in the parent for 4.0.0
consumers, we can always deploy org.apache:apache:14.1 as a newer 4.0.0
model pom


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

Reply via email to