Author: bentmann
Date: Fri Aug 14 15:19:51 2009
New Revision: 804257
URL: http://svn.apache.org/viewvc?rev=804257&view=rev
Log:
[MNG-3018] pluginManagement configurations are not honoured when plugin is
silently included
o Added UT
Added:
maven/components/trunk/maven-core/src/test/resources-project-builder/plugin-management-for-implicit-plugin/
(with props)
maven/components/trunk/maven-core/src/test/resources-project-builder/plugin-management-for-implicit-plugin/child/
(with props)
maven/components/trunk/maven-core/src/test/resources-project-builder/plugin-management-for-implicit-plugin/child/pom.xml
(with props)
maven/components/trunk/maven-core/src/test/resources-project-builder/plugin-management-for-implicit-plugin/pom.xml
(with props)
Modified:
maven/components/trunk/maven-core/src/test/java/org/apache/maven/project/EmptyLifecycleExecutor.java
maven/components/trunk/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
Modified:
maven/components/trunk/maven-core/src/test/java/org/apache/maven/project/EmptyLifecycleExecutor.java
URL:
http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/test/java/org/apache/maven/project/EmptyLifecycleExecutor.java?rev=804257&r1=804256&r2=804257&view=diff
==============================================================================
---
maven/components/trunk/maven-core/src/test/java/org/apache/maven/project/EmptyLifecycleExecutor.java
(original)
+++
maven/components/trunk/maven-core/src/test/java/org/apache/maven/project/EmptyLifecycleExecutor.java
Fri Aug 14 15:19:51 2009
@@ -21,6 +21,7 @@
import java.util.Collection;
import java.util.Collections;
+import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
@@ -50,9 +51,10 @@
{
public MavenExecutionPlan calculateExecutionPlan( MavenSession session,
String... tasks )
- throws PluginNotFoundException, PluginResolutionException,
PluginDescriptorParsingException, CycleDetectedInPluginGraphException,
MojoNotFoundException
+ throws PluginNotFoundException, PluginResolutionException,
PluginDescriptorParsingException,
+ CycleDetectedInPluginGraphException, MojoNotFoundException
{
- return new MavenExecutionPlan( Collections.<MojoExecution>emptyList(),
null );
+ return new MavenExecutionPlan( Collections.<MojoExecution>
emptyList(), null );
}
public void execute( MavenSession session )
@@ -73,7 +75,36 @@
public Set<Plugin> getPluginsBoundByDefaultToAllLifecycles( String
packaging )
{
- return Collections.emptySet();
+ Set<Plugin> plugins;
+
+ // NOTE: The upper-case packaging name is intentional, that's a
special hinting mode used for certain tests
+ if ( "JAR".equals( packaging ) )
+ {
+ plugins = new LinkedHashSet<Plugin>();
+
+ plugins.add( newPlugin( "maven-compiler-plugin" ) );
+ plugins.add( newPlugin( "maven-resources-plugin" ) );
+ plugins.add( newPlugin( "maven-surefire-plugin" ) );
+ plugins.add( newPlugin( "maven-jar-plugin" ) );
+ plugins.add( newPlugin( "maven-install-plugin" ) );
+ plugins.add( newPlugin( "maven-deploy-plugin" ) );
+ }
+ else
+ {
+ plugins = Collections.emptySet();
+ }
+
+ return plugins;
+ }
+
+ private Plugin newPlugin( String artifactId )
+ {
+ Plugin plugin = new Plugin();
+
+ plugin.setGroupId( "org.apache.maven.plugins" );
+ plugin.setArtifactId( artifactId );
+
+ return plugin;
}
public void populateDefaultConfigurationForPlugins( Collection<Plugin>
plugins, RepositoryRequest repositoryRequest )
Modified:
maven/components/trunk/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
URL:
http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java?rev=804257&r1=804256&r2=804257&view=diff
==============================================================================
---
maven/components/trunk/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
(original)
+++
maven/components/trunk/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
Fri Aug 14 15:19:51 2009
@@ -1650,6 +1650,17 @@
}
}
+ /** MNG-522, MNG-3018 */
+ public void
testManagedPluginConfigurationAppliesToImplicitPluginsIntroducedByPackaging()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom(
"plugin-management-for-implicit-plugin/child" );
+ assertEquals( "passed.txt",
+ pom.getValue(
"build/plugi...@artifactid='maven-resources-plugin']/configuration/pathname" )
);
+ assertEquals( "passed.txt",
+ pom.getValue(
"build/plugi...@artifactid='maven-it-plugin-log-file']/configuration/logFile" )
);
+ }
+
private void assertPathSuffixEquals( String expected, Object actual )
{
String a = actual.toString();
Propchange:
maven/components/trunk/maven-core/src/test/resources-project-builder/plugin-management-for-implicit-plugin/
------------------------------------------------------------------------------
bugtraq:label = Enter issue ID:
Propchange:
maven/components/trunk/maven-core/src/test/resources-project-builder/plugin-management-for-implicit-plugin/
------------------------------------------------------------------------------
bugtraq:message = Issue id: %BUGID%
Propchange:
maven/components/trunk/maven-core/src/test/resources-project-builder/plugin-management-for-implicit-plugin/
------------------------------------------------------------------------------
bugtraq:number = false
Propchange:
maven/components/trunk/maven-core/src/test/resources-project-builder/plugin-management-for-implicit-plugin/
------------------------------------------------------------------------------
bugtraq:url = http://jira.codehaus.org/browse/%BUGID%
Propchange:
maven/components/trunk/maven-core/src/test/resources-project-builder/plugin-management-for-implicit-plugin/child/
------------------------------------------------------------------------------
bugtraq:label = Enter issue ID:
Propchange:
maven/components/trunk/maven-core/src/test/resources-project-builder/plugin-management-for-implicit-plugin/child/
------------------------------------------------------------------------------
bugtraq:message = Issue id: %BUGID%
Propchange:
maven/components/trunk/maven-core/src/test/resources-project-builder/plugin-management-for-implicit-plugin/child/
------------------------------------------------------------------------------
bugtraq:number = false
Propchange:
maven/components/trunk/maven-core/src/test/resources-project-builder/plugin-management-for-implicit-plugin/child/
------------------------------------------------------------------------------
bugtraq:url = http://jira.codehaus.org/browse/%BUGID%
Added:
maven/components/trunk/maven-core/src/test/resources-project-builder/plugin-management-for-implicit-plugin/child/pom.xml
URL:
http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/test/resources-project-builder/plugin-management-for-implicit-plugin/child/pom.xml?rev=804257&view=auto
==============================================================================
---
maven/components/trunk/maven-core/src/test/resources-project-builder/plugin-management-for-implicit-plugin/child/pom.xml
(added)
+++
maven/components/trunk/maven-core/src/test/resources-project-builder/plugin-management-for-implicit-plugin/child/pom.xml
Fri Aug 14 15:19:51 2009
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng0522</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>child-project</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <!-- NOTE: The upper-case packaging name is intentional and triggers a
special mode in the EmptyLifecycleExecutor -->
+ <packaging>JAR</packaging>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-log-file</artifactId>
+ <executions>
+ <execution>
+ <id>test</id>
+ <phase>initialize</phase>
+ <goals>
+ <goal>reset</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
Propchange:
maven/components/trunk/maven-core/src/test/resources-project-builder/plugin-management-for-implicit-plugin/child/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/components/trunk/maven-core/src/test/resources-project-builder/plugin-management-for-implicit-plugin/child/pom.xml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added:
maven/components/trunk/maven-core/src/test/resources-project-builder/plugin-management-for-implicit-plugin/pom.xml
URL:
http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/test/resources-project-builder/plugin-management-for-implicit-plugin/pom.xml?rev=804257&view=auto
==============================================================================
---
maven/components/trunk/maven-core/src/test/resources-project-builder/plugin-management-for-implicit-plugin/pom.xml
(added)
+++
maven/components/trunk/maven-core/src/test/resources-project-builder/plugin-management-for-implicit-plugin/pom.xml
Fri Aug 14 15:19:51 2009
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng0522</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-522</name>
+ <description>Test for pluginManagement injection of plugin
configuration.</description>
+
+ <modules>
+ <module>child</module>
+ </modules>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <!-- this checks handling of a plugin which is implicitly bound to
the lifecycle -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>0.1-stub-SNAPSHOT</version>
+ <configuration>
+ <pathname>passed.txt</pathname>
+ </configuration>
+ </plugin>
+ <plugin>
+ <!-- this checks handling of a plugin which is explicitly bound to
the lifecycle -->
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-log-file</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <configuration>
+ <logFile>passed.txt</logFile>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+</project>
Propchange:
maven/components/trunk/maven-core/src/test/resources-project-builder/plugin-management-for-implicit-plugin/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/components/trunk/maven-core/src/test/resources-project-builder/plugin-management-for-implicit-plugin/pom.xml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision