You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Guillaume Nodet (Jira)" <ji...@apache.org> on 2022/10/20 08:11:01 UTC

[jira] [Updated] (MNG-6727) Using version range in parent and CI Friendly Version fails

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

Guillaume Nodet updated MNG-6727:
---------------------------------
    Fix Version/s: 4.0.0-alpha-2

> 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.5.2, 3.6.1, 3.6.2, 3.6.3
>            Reporter: Tom Kiemes
>            Assignee: Guillaume Nodet
>            Priority: Major
>             Fix For: 3.8.5, 4.0.0-alpha-1, 4.0.0-alpha-2, 4.0.0
>
>
> 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
(v8.20.10#820010)