You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jd...@apache.org on 2008/04/08 21:51:17 UTC
svn commit: r646052 - in /maven/components/trunk/maven-core/src:
main/java/org/apache/maven/lifecycle/binding/BindingUtils.java
test/java/org/apache/maven/lifecycle/binding/BindingUtilsTest.java
Author: jdcasey
Date: Tue Apr 8 12:51:15 2008
New Revision: 646052
URL: http://svn.apache.org/viewvc?rev=646052&view=rev
Log:
Fixing MNG-3473 integration test.
Added:
maven/components/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/binding/BindingUtilsTest.java (with props)
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/binding/BindingUtils.java
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/binding/BindingUtils.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/binding/BindingUtils.java?rev=646052&r1=646051&r2=646052&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/binding/BindingUtils.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/binding/BindingUtils.java Tue Apr 8 12:51:15 2008
@@ -251,6 +251,7 @@
static void injectProjectConfiguration( LifecycleBindings bindings, MavenProject project )
{
Map pluginsByVersionlessKey = buildPluginMap( project );
+ Map reportPluginsByVersionlessKey = buildReportPluginMap( project );
for ( Iterator lifecycleIt = bindings.getBindingList().iterator(); lifecycleIt.hasNext(); )
{
@@ -265,13 +266,20 @@
MojoBinding mojo = (MojoBinding) mojoIt.next();
String pluginKey = createPluginKey( mojo.getGroupId(), mojo.getArtifactId() );
+
Plugin plugin = (Plugin) pluginsByVersionlessKey.get( pluginKey );
+ ReportPlugin reportPlugin = (ReportPlugin) reportPluginsByVersionlessKey.get( pluginKey );
if ( plugin == null )
{
plugin = new Plugin();
plugin.setGroupId( mojo.getGroupId() );
plugin.setArtifactId( mojo.getArtifactId() );
+
+ if ( reportPlugin != null )
+ {
+ plugin.setVersion( reportPlugin.getVersion() );
+ }
}
injectPluginManagementInfo( plugin, project );
@@ -279,9 +287,9 @@
PluginExecution exec = (PluginExecution) plugin.getExecutionsAsMap().get( mojo.getExecutionId() );
mojo.setConfiguration( mergeConfigurations( plugin, exec ) );
-
+
mojo.setVersion( plugin.getVersion() );
-
+
}
}
}
Added: maven/components/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/binding/BindingUtilsTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/binding/BindingUtilsTest.java?rev=646052&view=auto
==============================================================================
--- maven/components/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/binding/BindingUtilsTest.java (added)
+++ maven/components/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/binding/BindingUtilsTest.java Tue Apr 8 12:51:15 2008
@@ -0,0 +1,145 @@
+package org.apache.maven.lifecycle.binding;
+
+import org.apache.maven.lifecycle.model.BuildBinding;
+import org.apache.maven.lifecycle.model.LifecycleBindings;
+import org.apache.maven.lifecycle.model.MojoBinding;
+import org.apache.maven.lifecycle.model.Phase;
+import org.apache.maven.model.Build;
+import org.apache.maven.model.Model;
+import org.apache.maven.model.Plugin;
+import org.apache.maven.model.ReportPlugin;
+import org.apache.maven.model.Reporting;
+import org.apache.maven.project.MavenProject;
+
+import junit.framework.TestCase;
+
+public class BindingUtilsTest
+ extends TestCase
+{
+
+ public void testInjectProjectConfiguration_CheckReportPluginsForVersionInformation()
+ {
+ Model model = new Model();
+ Build build = new Build();
+
+ String gid = "group";
+ String aid = "artifact";
+ String version = "1";
+
+ model.setGroupId( gid );
+ model.setArtifactId( aid );
+ model.setVersion( version );
+
+ model.setBuild( build );
+
+ String pGid = "group.plugins";
+ String pAid = "maven-test-plugin";
+ String pVersion = "2";
+
+ Plugin plugin = new Plugin();
+ plugin.setGroupId( pGid );
+ plugin.setArtifactId( pAid );
+ plugin.setVersion( pVersion );
+
+ build.addPlugin( plugin );
+
+ Reporting reporting = new Reporting();
+
+ model.setReporting( reporting );
+
+ String rGid = "group.reports";
+ String rAid = "maven-report-plugin";
+ String rVersion = "3";
+
+ ReportPlugin rPlugin = new ReportPlugin();
+ rPlugin.setGroupId( rGid );
+ rPlugin.setArtifactId( rAid );
+ rPlugin.setVersion( rVersion );
+
+ reporting.addPlugin( rPlugin );
+
+ MavenProject project = new MavenProject( model );
+
+ LifecycleBindings bindings = new LifecycleBindings();
+
+ BuildBinding buildBinding = new BuildBinding();
+ bindings.setBuildBinding( buildBinding );
+
+ MojoBinding mb = new MojoBinding();
+ mb.setGroupId( rGid );
+ mb.setArtifactId( rAid );
+ mb.setExecutionId( "test" );
+ mb.setGoal( "goal" );
+
+ Phase compile = new Phase();
+ compile.addBinding( mb );
+
+ buildBinding.setCompile( compile );
+
+ BindingUtils.injectProjectConfiguration( bindings, project );
+
+ assertEquals( rVersion, mb.getVersion() );
+ }
+
+ public void testInjectProjectConfiguration_NormalPluginInformationOverridesReportPluginsInformation()
+ {
+ Model model = new Model();
+ Build build = new Build();
+
+ String gid = "group";
+ String aid = "artifact";
+ String version = "1";
+
+ model.setGroupId( gid );
+ model.setArtifactId( aid );
+ model.setVersion( version );
+
+ model.setBuild( build );
+
+ String pAid = "maven-test-plugin";
+ String pVersion = "2";
+
+ Plugin plugin = new Plugin();
+ plugin.setGroupId( gid );
+ plugin.setArtifactId( pAid );
+ plugin.setVersion( pVersion );
+
+ build.addPlugin( plugin );
+
+ Reporting reporting = new Reporting();
+
+ model.setReporting( reporting );
+
+ String rVersion = "3";
+
+ ReportPlugin rPlugin = new ReportPlugin();
+ rPlugin.setGroupId( gid );
+ rPlugin.setArtifactId( pAid );
+ rPlugin.setVersion( rVersion );
+
+ reporting.addPlugin( rPlugin );
+
+ MavenProject project = new MavenProject( model );
+
+ LifecycleBindings bindings = new LifecycleBindings();
+
+ BuildBinding buildBinding = new BuildBinding();
+ bindings.setBuildBinding( buildBinding );
+
+ MojoBinding mb = new MojoBinding();
+ mb.setGroupId( gid );
+ mb.setArtifactId( pAid );
+ mb.setExecutionId( "test" );
+ mb.setGoal( "goal" );
+
+ Phase compile = new Phase();
+ compile.addBinding( mb );
+
+ buildBinding.setCompile( compile );
+
+ BindingUtils.injectProjectConfiguration( bindings, project );
+
+ assertEquals( pVersion, mb.getVersion() );
+ }
+
+}
Propchange: maven/components/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/binding/BindingUtilsTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/binding/BindingUtilsTest.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"