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