[ 
https://issues.apache.org/jira/browse/MNG-7840?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17746910#comment-17746910
 ] 

Tamas Cservenak commented on MNG-7840:
--------------------------------------

Again, relocation is targeting consumed artifacts. Parent POM is part of the 
build (used to build the Model of the current build).
If you build these projects, all you need is to change the parent to point at 
new parent POM.

> Maven pom relocation do not work with parent pom
> ------------------------------------------------
>
>                 Key: MNG-7840
>                 URL: https://issues.apache.org/jira/browse/MNG-7840
>             Project: Maven
>          Issue Type: Bug
>          Components: Artifacts and Repositories, Dependencies
>    Affects Versions: 3.9.2
>         Environment: Apache Maven 3.9.2 
> (c9616018c7a021c1c39be70fb2843d6f5f9b8a1c)
> Java version: 17.0.5, vendor: GraalVM Community
> Default locale: fr_FR, platform encoding: UTF-8
> OS name: "mac os x", version: "13.4.1", arch: "aarch64", family: "mac"
>            Reporter: jycr
>            Priority: Major
>
> Relocating parent POM do not work.
> Reproduce steps:
>  # Create following POM files :
> {code:xml|title=parent-pom-a.pom}
> <?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 
> https://maven.apache.org/xsd/maven-4.0.0.xsd";>
>     <modelVersion>4.0.0</modelVersion>
>     <groupId>com.acme</groupId>
>     <artifactId>parent-pom-a</artifactId>
>     <version>1.0.0</version>
>     <packaging>pom</packaging>
>     <distributionManagement>
>         <relocation>
>             <groupId>com.acme</groupId>
>             <artifactId>parent-pom-b</artifactId>
>             <version>1.0.0</version>
>         </relocation>
>     </distributionManagement>
> </project>
> {code}
> {code:xml|title=parent-pom-b.pom}
> <?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 
> https://maven.apache.org/xsd/maven-4.0.0.xsd";>
>     <modelVersion>4.0.0</modelVersion>
>     <groupId>com.acme</groupId>
>     <artifactId>parent-pom-b</artifactId>
>     <version>1.0.0</version>
>     <packaging>pom</packaging>
>     <properties>
>         <properties-from-parent-pom>b</properties-from-parent-pom>
>     </properties>
> </project>
> {code}
> {code:xml|title=project-pom.pom}
> <?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 
> https://maven.apache.org/xsd/maven-4.0.0.xsd";>
>       <modelVersion>4.0.0</modelVersion>
>       <parent>
>               <groupId>com.acme</groupId>
>               <artifactId>parent-pom-a</artifactId>
>               <version>1.0.0</version>
>       </parent>
>       <artifactId>project-pom</artifactId>
>       <packaging>pom</packaging>
>       <properties>
>               
> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
>               
> <maven.compiler.encoding>${project.build.sourceEncoding}</maven.compiler.encoding>
>               
> <project.reporting.outputEncoding>${project.build.sourceEncoding}</project.reporting.outputEncoding>
>       </properties>
>       <build>
>               <plugins>
>                       <plugin>
>                               
> <groupId>com.github.ekryd.echo-maven-plugin</groupId>
>                               <artifactId>echo-maven-plugin</artifactId>
>                               <version>2.0.0</version>
>                               <executions>
>                                       <execution>
>                                               <goals>
>                                                       <goal>echo</goal>
>                                               </goals>
>                                               <phase>initialize</phase>
>                                               <configuration>
>                                                       
> <message>properties-from-parent-pom: ${properties-from-parent-pom}</message>
>                                               </configuration>
>                                       </execution>
>                               </executions>
>                       </plugin>
>               </plugins>
>       </build>
> </project>
> {code}
> # Install parent POM files into local cache:
> {code:sh}
> mvn install -f parent-pom-a.pom
> mvn install -f parent-pom-b.pom
> {code}
> # Execute Maven with {{project-pom.pom}}
> {code:sh}
> mvn initialize -f project-pom.pom
> {code}
> Actual result:
> {code}
> [INFO] Scanning for projects...
> [INFO] 
> [INFO] ------------------------< com.acme:project-pom 
> >------------------------
> [INFO] Building project-pom 1.0.0
> [INFO]   from project-pom.pom
> [INFO] --------------------------------[ pom 
> ]---------------------------------
> [INFO] 
> [INFO] --- echo:2.0.0:echo (default) @ project-pom ---
> [INFO] properties-from-parent-pom: ${properties-from-parent-pom}
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Total time:  0.145 s
> [INFO] Finished at: 2023-07-10T09:47:45+02:00
> [INFO] 
> ------------------------------------------------------------------------
> {code}
> Expected result:
> {code}
> [INFO] Scanning for projects...
> [INFO] 
> [INFO] ------------------------< com.acme:project-pom 
> >------------------------
> [INFO] Building project-pom 1.0.0
> [INFO]   from project-pom.pom
> [INFO] --------------------------------[ pom 
> ]---------------------------------
> [WARNING] The artifact com.acme:parent-pom-a:pom:1.0.0 has been relocated to 
> com.acme:parent-pom-b:pom:1.0.0
> [INFO] 
> [INFO] --- echo:2.0.0:echo (default) @ project-pom ---
> [INFO] properties-from-parent-pom: b
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Total time:  0.136 s
> [INFO] Finished at: 2023-07-10T09:48:52+02:00
> [INFO] 
> ------------------------------------------------------------------------
> {code}



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

Reply via email to