Julien CARSIQUE created MNG-5561:
------------------------------------
Summary: 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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira