maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Denis Golovin <dgolo...@gmail.com>
Subject Re: Parent version is ignored if referenced parent pom.xml available from local filesystem in maven 3.3.x
Date Thu, 24 Sep 2015 23:43:20 GMT
Stephen,

I guess this is the regression issue you are talking about
https://issues.apache.org/jira/browse/MNG-5840.

I've verified on master build and it still have the same behavior. It works
where it was not working in previous version up to 3.2.5.
I blame version ranges that now supported in parent/version (see
https://github.com/apache/maven/blob/master/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java#L929).
It creates VersionRange instance that recommends version from child1 pom
but not restricts upper and lover bounds. This means it is still ignoring
version in child pom and using whatever is in parent pom resolved from
local file system.

To make it works the same way as in 3.2.x the explicit version range should
be used:
- [version] - to allow the only version;
- [version,) - to have open range;

then example fails as expected.

-Denis


On Thu, Sep 24, 2015 at 1:27 PM, Stephen Connolly <
stephen.alan.connolly@gmail.com> wrote:

> Regression filed and fixed... you are just waiting for the next
> release in the 3.3.x line
>
> On 24 September 2015 at 19:40, Denis Golovin <dgolovin@gmail.com> wrote:
> > I have simple project structure:
> >
> > test-module
> > |-pom.xml
> > |-child1
> >   |-pom.xml
> >
> > test-module/pom.xml
> >
> > <project
> >         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
> > http://maven.apache.org/xsd/maven-4.0.0.xsd"
> > xmlns="http://maven.apache.org/POM/4.0.0"
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> > <modelVersion>4.0.0</modelVersion>
> >         <groupId>org.name</groupId>
> >         <artifactId>root</artifactId>
> >         <version>1.0.0-SNAPSHOT</version>
> >         <packaging>pom</packaging>
> >         <modules>
> >                 <module>child1</module>
> >         </modules>
> > </project>
> >
> > test-module/child1/pom.xml (note parent/version value)
> >
> > <project
> >         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
> > http://maven.apache.org/xsd/maven-4.0.0.xsd"
> > xmlns="http://maven.apache.org/POM/4.0.0"
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> > <modelVersion>4.0.0</modelVersion>
> >         <parent>
> >                 <groupId>org.name</groupId>
> >                 <artifactId>root</artifactId>
> >                 <version>anything</version>
> >         </parent>
> >         <groupId>org.name</groupId>
> >         <artifactId>child1</artifactId>
> >         <version>1.0.0-SNAPSHOT</version>
> >         <packaging>pom</packaging>
> > </project>
> >
> > In maven 3.2.5 it fails with parent/pom.xml resolution error, but it
> works
> > in 3.3.x. In 3.3.x it seems just using parent pom.xml file available from
> > local file system and ignoring parent/version node value.
> >
> > Is that sort of regression or it was done on purpose?
> >
> > Thanks
> >
> > -Denis
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>


-- 
Denis

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message