[ https://jira.codehaus.org/browse/MNG-5561?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=342211#comment-342211 ]
Julien CARSIQUE commented on MNG-5561: -------------------------------------- The issue is solved when setting the target parameter as a "User property" {code}- @Parameter + @Parameter(property = "buildFile") protected File buildFile;{code} It would mean that a plugin parameter set on the relocated plugin is transmitted to the target plugin as a "User property" instead of a plugin parameter... I was about to close the issue as "Not a bug" but finally, it still sounds like a bug. What do you think? > Plugin relocation looses configuration > -------------------------------------- > > Key: MNG-5561 > URL: https://jira.codehaus.org/browse/MNG-5561 > Project: Maven 2 & 3 > Issue Type: Bug > Components: Plugins and Lifecycle > Affects Versions: 3.1.1 > Reporter: Julien CARSIQUE > > Hi, > Applying a relocation on a plugin seems to loose its configuration. > In the following sample, I relocated "nuxeo-distribution-tools" to > "ant-assembly-maven-plugin" and the missing configured parameter is > "buildFile". The relocation itself went well but the execution fails because > of a missing parameter. > {code:title=~/.m2/repository/org/nuxeo/build/nuxeo-distribution-tools/2.0-SNAPSHOT/nuxeo-distribution-tools-2.0-SNAPSHOT.pom} > <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/maven-v4_0_0.xsd"> > <modelVersion>4.0.0</modelVersion> > <groupId>org.nuxeo.build</groupId> > <artifactId>nuxeo-distribution-tools</artifactId> > <version>2.0-SNAPSHOT</version> > <packaging>maven-plugin</packaging> > <name>Nuxeo Distribution Build</name> > <description>Assemble Nuxeo distributions</description> > <distributionManagement> > <relocation> > <artifactId>ant-assembly-maven-plugin</artifactId> > </relocation> > </distributionManagement> > </project>{code} > {code:title=executed POM extract} > <build> > <plugins> > <plugin> > <groupId>org.nuxeo.build</groupId> > <!-- With relocation --> > <artifactId>nuxeo-distribution-tools</artifactId> > <!-- Without relocation --> > <!-- <artifactId>ant-assembly-maven-plugin</artifactId> --> > <executions> > <execution> > <id>assemble</id> > <phase>package</phase> > <configuration> > <!-- The missing parameter in case of relocation --> > <buildFile>src/main/assemble/assembly.xml</buildFile> > </configuration> > <goals> > <goal>build</goal> > </goals> > </execution> > </executions> > </plugin> > </plugins> > </build> > {code} > Here is the diff between an "mvn package -X" with nuxeo-distribution-tools > (ie: with relocation; line starting with "<") and another one with > ant-assembly-maven-plugin (ie: without relocation; line starting with ">"): > {noformat}< [DEBUG] Dependency collection stats: > {ConflictMarker.analyzeTime=1, ConflictMarker.markTime=0, > ConflictMarker.nodeCount=72, ConflictIdSorter.graphTime=0, > ConflictIdSorter.topsortTime=0, ConflictIdSorter.conflictIdCount=34, > ConflictIdSorter.conflictIdCycleCount=0, ConflictResolver.totalTime=1, > ConflictResolver.conflictItemCount=71, > DefaultDependencyCollector.collectTime=10, > DefaultDependencyCollector.transformTime=2} > > [DEBUG] Dependency collection stats: {ConflictMarker.analyzeTime=1, > > ConflictMarker.markTime=0, ConflictMarker.nodeCount=72, > > ConflictIdSorter.graphTime=0, ConflictIdSorter.topsortTime=0, > > ConflictIdSorter.conflictIdCount=34, > > ConflictIdSorter.conflictIdCycleCount=0, ConflictResolver.totalTime=2, > > ConflictResolver.conflictItemCount=71, > > DefaultDependencyCollector.collectTime=65, > > DefaultDependencyCollector.transformTime=3} > --- > < [DEBUG] Created new class realm > plugin>org.nuxeo.build:nuxeo-distribution-tools:2.0-SNAPSHOT > < [DEBUG] Importing foreign packages into class realm > plugin>org.nuxeo.build:nuxeo-distribution-tools:2.0-SNAPSHOT > > [DEBUG] Created new class realm > > plugin>org.nuxeo.build:ant-assembly-maven-plugin:2.0-SNAPSHOT > > [DEBUG] Importing foreign packages into class realm > > plugin>org.nuxeo.build:ant-assembly-maven-plugin:2.0-SNAPSHOT > --- > < [DEBUG] Populating class realm > plugin>org.nuxeo.build:nuxeo-distribution-tools:2.0-SNAPSHOT > > [DEBUG] Populating class realm > > plugin>org.nuxeo.build:ant-assembly-maven-plugin:2.0-SNAPSHOT > --- > < [DEBUG] Configuring mojo > org.nuxeo.build:ant-assembly-maven-plugin:2.0-SNAPSHOT:build from plugin > realm > ClassRealm[plugin>org.nuxeo.build:nuxeo-distribution-tools:2.0-SNAPSHOT, > parent: sun.misc.Launcher$AppClassLoader@591ce4fe] > > [DEBUG] Configuring mojo > > org.nuxeo.build:ant-assembly-maven-plugin:2.0-SNAPSHOT:build from plugin > > realm > > ClassRealm[plugin>org.nuxeo.build:ant-assembly-maven-plugin:2.0-SNAPSHOT, > > parent: sun.misc.Launcher$AppClassLoader@77fe0d66] > --- > > [DEBUG] (f) buildFile = > > /home/julien/ws-ssd/nuxeo/nuxeo-distribution/nuxeo-distribution-resources/src/main/assemble/assembly.xml{noformat} > The last line highlights the missing parameter. > Indeed, it seems that in case of a relocation, all the "Parameter" Mojo > fields take their default value (or none) whereas the "Component" fields are > still properly injected. -- This message was sent by Atlassian JIRA (v6.1.6#6162)