maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Peter Van den Bosch (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (MNG-5561) Plugin relocation loses configuration
Date Thu, 26 Nov 2015 14:17:10 GMT

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

Peter Van den Bosch commented on MNG-5561:
------------------------------------------

Hi,

I'm also experiencing this issue for a relocated maven plugin. The workaround of assigning
a property name to the parameter doesn't seem to work for complex or multi-valued properties.
Is there another way to make it work?

{code:title=error from maven execution}
[ERROR] Failed to execute goal be.fgov.kszbcss.plugins:websphere-maven-plugin:2.8.14-SNAPSHOT:enable-endpoints
(default) on project BpEar: No children found in ejbModules tag -> [Help 1]
{code}

{code:title=plugin parameter definition}
@Parameter (property="enable-endpoints.ejbmodules", required=true)
private EJBModule[] ejbModules;
{code}

{code:title=plugin configuration}
<plugin>
	<groupId>be.fgov.kszbcss.plugins</groupId>
	<artifactId>maven-websphere-plugin</artifactId>
	<executions>
		<execution>
			<goals>
				<goal>enable-endpoints</goal>
			</goals>
		</execution>
	</executions>
	<configuration>
		<ejbModules>
			<ejbModule>
				<artifactId>BpRequestHandlerEjb</artifactId>
				<contextRoot>/Bp</contextRoot>
				<localNames>
					<PullRequestHandlerHttpPort>/PullRequestHandlerHttp</PullRequestHandlerHttpPort>
				</localNames>
			</ejbModule>
		</ejbModules>
	</configuration>
</plugin>
{code}


> Plugin relocation loses configuration
> -------------------------------------
>
>                 Key: MNG-5561
>                 URL: https://issues.apache.org/jira/browse/MNG-5561
>             Project: Maven
>          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.3.4#6332)

Mime
View raw message