[ 
https://issues.apache.org/jira/browse/MNG-6727?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tom Kiemes updated MNG-6727:
----------------------------
    Description: 
We would like to pass a [version 
range|https://maven.apache.org/enforcer/enforcer-rules/versionRanges.html] to 
the parent which should be possible since 3.5.0

At the same time, we would like to use [CI friendly 
versions|https://maven.apache.org/maven-ci-friendly.html] for the artifact 
itself.

Both on their own work well, but combined they don't.

{{<?xml version="1.0" encoding="UTF-8"?>}}
 {{<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
}}{{xsi:schemaLocation="[http://maven.apache.org/POM/4.0.0] 
[http://maven.apache.org/xsd/maven-4.0.0.xsd]";>}}
 {{  <modelVersion>4.0.0</modelVersion>}}

{{  <parent>}}
 {{    <groupId>org.springframework.boot</groupId>}}
 {{    <artifactId>spring-boot-starter-parent</artifactId>}}
 {{    <version>[2.1,3.0)</version>}}
 {{  </parent>}}

{{  <groupId>com.example</groupId>}}
 {{  <artifactId>test</artifactId>}}
 {{  <version>${revision}</version>}}
 {{  <packaging>pom</packaging>}}

{{  <properties>}}
 {{    <revision>0.0.1</revision>}}
 {{  </properties>}}
 {{</project>}}

 

The resulting error is:

{{The project com.example:test:${revision} (/Users/d045390/scratch/test.pom) 
has 1 error}}
{{[ERROR] Version must be a constant @ line 13, column 12}}

 

Changing the version range of the parent to a fixed version e.g. 
\{{2.1.5.Release}}, building works.

Changing the artifact version from ${revision} to a fixed version e.g. 0.0.1 
without using the {{properties}} works as well.

So it somehow must be the combination of both features which are actually not 
really related or am I missing something?

PS: I left the modules out for abbreviation purpose. The pom itself can still 
be used to reproduced

  was:
We would like to pass a [version 
range|[https://maven.apache.org/enforcer/enforcer-rules/versionRanges.html]] to 
the parent which should be possible since 3.5.0

At the same time, we would like to use [CI friendly 
versions|[https://maven.apache.org/maven-ci-friendly.html]] for the artifact 
itself.

Both on their own work well, but combined they don't.

{{<?xml version="1.0" encoding="UTF-8"?>}}
 {{<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
}}{{xsi:schemaLocation="[http://maven.apache.org/POM/4.0.0] 
[http://maven.apache.org/xsd/maven-4.0.0.xsd]";>}}
 {{  <modelVersion>4.0.0</modelVersion>}}

{{  <parent>}}
 {{    <groupId>org.springframework.boot</groupId>}}
 {{    <artifactId>spring-boot-starter-parent</artifactId>}}
 {{    <version>[2.1,3.0)</version>}}
 {{  </parent>}}

{{  <groupId>com.example</groupId>}}
 {{  <artifactId>test</artifactId>}}
 {{  <version>${revision}</version>}}
 {{  <packaging>pom</packaging>}}

{{  <properties>}}
 {{    <revision>0.0.1</revision>}}
 {{  </properties>}}
 {{</project>}}

 

The resulting error is:

{{The project com.example:test:${revision} (/Users/d045390/scratch/test.pom) 
has 1 error}}
{{[ERROR] Version must be a constant @ line 13, column 12}}

 

Changing the version range of the parent to a fixed version e.g. 
\{{2.1.5.Release}}, building works.

Changing the artifact version from ${revision} to a fixed version e.g. 0.0.1 
without using the {{properties}} works as well.

So it somehow must be the combination of both features which are actually not 
really related or am I missing something?

PS: I left the modules out for abbreviation purpose. The pom itself can still 
be used to reproduced


> Using version range in parent and CI Friendly Version fails
> -----------------------------------------------------------
>
>                 Key: MNG-6727
>                 URL: https://issues.apache.org/jira/browse/MNG-6727
>             Project: Maven
>          Issue Type: Bug
>          Components: Inheritance and Interpolation, POM, Reactor and workspace
>    Affects Versions: 3.6.1
>            Reporter: Tom Kiemes
>            Priority: Major
>
> We would like to pass a [version 
> range|https://maven.apache.org/enforcer/enforcer-rules/versionRanges.html] to 
> the parent which should be possible since 3.5.0
> At the same time, we would like to use [CI friendly 
> versions|https://maven.apache.org/maven-ci-friendly.html] for the artifact 
> itself.
> Both on their own work well, but combined they don't.
> {{<?xml version="1.0" encoding="UTF-8"?>}}
>  {{<project xmlns="http://maven.apache.org/POM/4.0.0"; 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
> }}{{xsi:schemaLocation="[http://maven.apache.org/POM/4.0.0] 
> [http://maven.apache.org/xsd/maven-4.0.0.xsd]";>}}
>  {{  <modelVersion>4.0.0</modelVersion>}}
> {{  <parent>}}
>  {{    <groupId>org.springframework.boot</groupId>}}
>  {{    <artifactId>spring-boot-starter-parent</artifactId>}}
>  {{    <version>[2.1,3.0)</version>}}
>  {{  </parent>}}
> {{  <groupId>com.example</groupId>}}
>  {{  <artifactId>test</artifactId>}}
>  {{  <version>${revision}</version>}}
>  {{  <packaging>pom</packaging>}}
> {{  <properties>}}
>  {{    <revision>0.0.1</revision>}}
>  {{  </properties>}}
>  {{</project>}}
>  
> The resulting error is:
> {{The project com.example:test:${revision} (/Users/d045390/scratch/test.pom) 
> has 1 error}}
> {{[ERROR] Version must be a constant @ line 13, column 12}}
>  
> Changing the version range of the parent to a fixed version e.g. 
> \{{2.1.5.Release}}, building works.
> Changing the artifact version from ${revision} to a fixed version e.g. 0.0.1 
> without using the {{properties}} works as well.
> So it somehow must be the combination of both features which are actually not 
> really related or am I missing something?
> PS: I left the modules out for abbreviation purpose. The pom itself can still 
> be used to reproduced



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to