Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
3.5.2, 3.6.1, 3.6.2, 3.6.3
-
None
Description
We would like to pass a version range to the parent which should be possible since 3.5.0
At the same time, we would like to use CI friendly versions 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