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"