Scott M Stark created MNG-8603:
----------------------------------

             Summary: Print the version of the supposed wrong parent pom
                 Key: MNG-8603
                 URL: https://issues.apache.org/jira/browse/MNG-8603
             Project: Maven
          Issue Type: Improvement
          Components: Core
    Affects Versions: 3.9.10, 3.9.x-candidate
         Environment: starksm@Scotts-Mac-Studio test-jakartaee-api % mvn 
--version
Apache Maven 3.9.9 (8e8579a9e76f7d015ee5ec7bfcdc97d260186937)
Maven home: /Users/starksm/bin/apache-maven-3.9.9
Java version: 17.0.4.1, vendor: Eclipse Adoptium, runtime: 
/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "15.3", arch: "aarch64", family: "mac"

            Reporter: Scott M Stark


If I am using the Maven CI friendly version approach and have a parent pom like:
{code:xml}
<project xmlns="...">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.eclipse.ee4j</groupId>
        <artifactId>project</artifactId>
        <version>1.0.9</version>
    </parent>
    <groupId>jakarta.platform</groupId>
    <artifactId>jakartaee-api-parent</artifactId>
    <version>${revision}${changelist}</version>
    <packaging>pom</packaging>
   
    <modules>
        <module>jakartaee-bom</module>
    </modules>

    <properties>
        <revision>11.0.0</revision>
        <changelist>-SNAPSHOT</changelist>
...
{code}

and a child pom like:

{code:xml}
<project xmlns="...">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>jakarta.platform</groupId>
        <artifactId>jakartaee-api-parent</artifactId>
        <version>${revision}</version>
    </parent>
...
{code}

running a command like `mvn --errors -U -Drevision=11.0.0 -Dchangelist= 
package` fails even though logically the child reference to the parent should 
work. The reported error is:

{noformat}
starksm@Scotts-Mac-Studio test-jakartaee-api % mvn --errors -U 
-Drevision=11.0.0 -Dchangelist= package
[INFO] Error stacktraces are turned on.
[INFO] Scanning for projects...
Downloading from central: 
https://repo.maven.apache.org/maven2/jakarta/platform/jakartaee-api-parent/$%7Brevision%7D/jakartaee-api-parent-$%7Brevision%7D.pom
[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[FATAL] Non-resolvable parent POM for 
jakarta.platform:jakarta.jakartaee-bom:${revision}: The following artifacts 
could not be resolved: jakarta.platform:jakartaee-api-parent:pom:${revision} 
(absent): Could not find artifact 
jakarta.platform:jakartaee-api-parent:pom:${revision} in central 
(https://repo.maven.apache.org/maven2) and 'parent.relativePath' points at 
wrong local POM @ line 22, column 13
...
{noformat}

After debugging what the cause was I saw that there is no property resolution 
being done in this phase of the model build process. The parent resolution was 
looking for a file that had the literal version of "${revision}${changelist}". 
If the error message about the "'parent.relativePath' points at wrong local 
POM" included the GAV of the located parent pom.xml it would make it more 
obvious that the problem was the literal version string value being used by the 
child pom.




--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to