You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Vasiliy (Jira)" <ji...@apache.org> on 2019/08/26 15:25:00 UTC

[jira] [Updated] (MNG-6746) Maven 3.6.1 does not resolve ${revision} if defined within parent section and when parent pom is externally sourced

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

Vasiliy updated MNG-6746:
-------------------------
    Description: 
How to reproduce:

Create a parent maven project "top" pom (corporate pom) with version "1.0.0-SNAPSHOT" like this:

{{<groupId>com.test</groupId>

<artifactId>top</artifactId>

<version>${revision}</version>}}

Do mvn -Drevision=1.0.0-SNAPSHOT install, so its available in local .m2

Create another mvn project and provide the pom like this:

```

<groupId>com.test</groupId>

<artifactId>child-repo</artifactId>

<version>${revision}</version>

<parent>

  <groupId>com.test</groupId>

  <artifactId>child-repo</artifactId>

  <version>${revision}</version> 

</parent>

```

I get an error   -Non-resolvable parent POM for com.test:top:${revision}: Could not transfer artifact com.test:top:pom:${revision} from/to nexus ($NEXUS)URL/content/groups/public): Failed to transfer file $NEXUS_URL/com/test/top/$%7Brevision%7D/top-$%7Brevision%7D.pom with status code 400 and 'parent.relativePath' points at wrong local POM @ line 12, column 10 -> 

The only way to resolve is to also checkout the "top" project and keep at the same level as "child-repo" project and add a <relativePath>../top</relativePath>

I would like Maven to resolve the "top" repo from the mvn repository directly instead of having it refer it via relativePath.

  was:
How to reproduce:

Create a parent maven project "top" pom (corporate pom) with version "1.0.0-SNAPSHOT" like this:

<groupId>com.test</groupId>

<artifactId>top</artifactId>

<version>${revision}</version>

Do mvn -Drevision=1.0.0-SNAPSHOT install, so its available in local .m2

Create another mvn project and provide the pom like this:

```

<groupId>com.test</groupId>

<artifactId>child-repo</artifactId>

<version>${revision}</version>

<parent>

  <groupId>com.test</groupId>

  <artifactId>child-repo</artifactId>

  <version>${revision}</version> 

</parent>

```

I get an error -  Non-resolvable parent POM for com.test:top:${revision}: Could not transfer artifact com.test:top:pom:${revision} from/to nexus ($NEXUS)URL/content/groups/public): Failed to transfer file $NEXUS_URL/com/test/top/$%7Brevision%7D/top-$%7Brevision%7D.pom with status code 400 and 'parent.relativePath' points at wrong local POM @ line 12, column 10 -> 

The only way to resolve is to also checkout the "top" project and keep at the same level as "child-repo" project and add a <relativePath>../top</relativePath>

I would like Maven to resolve the "top" repo from the mvn repository directly instead of having it refer it via relativePath.


> Maven 3.6.1 does not resolve ${revision} if defined within parent section and when parent pom is externally sourced
> -------------------------------------------------------------------------------------------------------------------
>
>                 Key: MNG-6746
>                 URL: https://issues.apache.org/jira/browse/MNG-6746
>             Project: Maven
>          Issue Type: Bug
>          Components: POM
>    Affects Versions: 3.6.1
>            Reporter: Vasiliy
>            Priority: Major
>              Labels: features
>
> How to reproduce:
> Create a parent maven project "top" pom (corporate pom) with version "1.0.0-SNAPSHOT" like this:
> {{<groupId>com.test</groupId>
> <artifactId>top</artifactId>
> <version>${revision}</version>}}
> Do mvn -Drevision=1.0.0-SNAPSHOT install, so its available in local .m2
> Create another mvn project and provide the pom like this:
> ```
> <groupId>com.test</groupId>
> <artifactId>child-repo</artifactId>
> <version>${revision}</version>
> <parent>
>   <groupId>com.test</groupId>
>   <artifactId>child-repo</artifactId>
>   <version>${revision}</version> 
> </parent>
> ```
> I get an error   -Non-resolvable parent POM for com.test:top:${revision}: Could not transfer artifact com.test:top:pom:${revision} from/to nexus ($NEXUS)URL/content/groups/public): Failed to transfer file $NEXUS_URL/com/test/top/$%7Brevision%7D/top-$%7Brevision%7D.pom with status code 400 and 'parent.relativePath' points at wrong local POM @ line 12, column 10 -> 
> The only way to resolve is to also checkout the "top" project and keep at the same level as "child-repo" project and add a <relativePath>../top</relativePath>
> I would like Maven to resolve the "top" repo from the mvn repository directly instead of having it refer it via relativePath.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)