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"


Reply via email to