You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by jd...@apache.org on 2005/09/13 20:33:04 UTC

svn commit: r280616 - in /maven/components/trunk/maven-project/src: main/java/org/apache/maven/project/injection/DefaultProfileInjector.java test/java/org/apache/maven/project/injection/DefaultProfileInjectorTest.java

Author: jdcasey
Date: Tue Sep 13 11:32:58 2005
New Revision: 280616

URL: http://svn.apache.org/viewcvs?rev=280616&view=rev
Log:
Resolving: MNG-815. Added unit test to guard against regressions.

Modified:
    maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/injection/DefaultProfileInjector.java
    maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/injection/DefaultProfileInjectorTest.java

Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/injection/DefaultProfileInjector.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/injection/DefaultProfileInjector.java?rev=280616&r1=280615&r2=280616&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/injection/DefaultProfileInjector.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/injection/DefaultProfileInjector.java Tue Sep 13 11:32:58 2005
@@ -154,7 +154,7 @@
 
                 if ( profilePlugin != null )
                 {
-                    mergedPlugin = profilePlugin;
+                    mergedPlugin = modelPlugin;
 
                     injectPluginDefinition( profilePlugin, modelPlugin );
                 }

Modified: maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/injection/DefaultProfileInjectorTest.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/injection/DefaultProfileInjectorTest.java?rev=280616&r1=280615&r2=280616&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/injection/DefaultProfileInjectorTest.java (original)
+++ maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/injection/DefaultProfileInjectorTest.java Tue Sep 13 11:32:58 2005
@@ -5,6 +5,7 @@
 import org.apache.maven.model.BuildBase;
 import org.apache.maven.model.Model;
 import org.apache.maven.model.Plugin;
+import org.apache.maven.model.PluginExecution;
 import org.apache.maven.model.Profile;
 import org.apache.maven.model.Repository;
 import org.codehaus.plexus.util.xml.Xpp3Dom;
@@ -15,7 +16,7 @@
     extends TestCase
 {
 
-    public void testProfilePluginConfigurationShouldOverrideModelPluginConfiguration()
+    public void testProfilePluginConfigurationShouldOverrideCollidingModelPluginConfiguration()
     {
         Plugin mPlugin = new Plugin();
         mPlugin.setGroupId( "test" );
@@ -25,8 +26,12 @@
         Xpp3Dom mConfigChild = new Xpp3Dom( "test" );
         mConfigChild.setValue( "value" );
 
+        Xpp3Dom mConfigChild2 = new Xpp3Dom( "test2" );
+        mConfigChild2.setValue( "value2" );
+
         Xpp3Dom mConfig = new Xpp3Dom( "configuration" );
         mConfig.addChild( mConfigChild );
+        mConfig.addChild( mConfigChild2 );
 
         mPlugin.setConfiguration( mConfig );
 
@@ -66,8 +71,87 @@
         Xpp3Dom rChild = rConfig.getChild( "test" );
 
         assertEquals( "replacedValue", rChild.getValue() );
+        
+        Xpp3Dom rChild2 = rConfig.getChild( "test2" );
+
+        assertEquals( "value2", rChild2.getValue() );
     }
 
+    public void testModelConfigShouldPersistWhenPluginHasExecConfigs()
+    {
+        Plugin mPlugin = new Plugin();
+        mPlugin.setGroupId( "test" );
+        mPlugin.setArtifactId( "test-artifact" );
+        mPlugin.setVersion( "1.0-SNAPSHOT" );
+
+        Xpp3Dom mConfigChild = new Xpp3Dom( "test" );
+        mConfigChild.setValue( "value" );
+
+        Xpp3Dom mConfigChild2 = new Xpp3Dom( "test2" );
+        mConfigChild2.setValue( "value2" );
+
+        Xpp3Dom mConfig = new Xpp3Dom( "configuration" );
+        mConfig.addChild( mConfigChild );
+        mConfig.addChild( mConfigChild2 );
+
+        mPlugin.setConfiguration( mConfig );
+
+        Build mBuild = new Build();
+        mBuild.addPlugin( mPlugin );
+
+        Model model = new Model();
+        model.setBuild( mBuild );
+
+        Plugin pPlugin = new Plugin();
+        pPlugin.setGroupId( "test" );
+        pPlugin.setArtifactId( "test-artifact" );
+        pPlugin.setVersion( "1.0-SNAPSHOT" );
+
+        PluginExecution pExec = new PluginExecution();
+        pExec.setId("profile-injected");
+        
+        Xpp3Dom pConfigChild = new Xpp3Dom( "test" );
+        pConfigChild.setValue( "replacedValue" );
+
+        Xpp3Dom pConfig = new Xpp3Dom( "configuration" );
+        pConfig.addChild( pConfigChild );
+
+        pExec.setConfiguration( pConfig );
+
+        pPlugin.addExecution( pExec );
+        
+        BuildBase pBuild = new BuildBase();
+        pBuild.addPlugin( pPlugin );
+
+        Profile profile = new Profile();
+        profile.setId( "testId" );
+
+        profile.setBuild( pBuild );
+
+        new DefaultProfileInjector().inject( profile, model );
+
+        Build rBuild = model.getBuild();
+        Plugin rPlugin = (Plugin) rBuild.getPlugins().get( 0 );
+        
+        PluginExecution rExec = (PluginExecution) rPlugin.getExecutionsAsMap().get( "profile-injected" );
+        
+        assertNotNull( rExec );
+        
+        Xpp3Dom rExecConfig = (Xpp3Dom) rExec.getConfiguration();
+
+        Xpp3Dom rChild = rExecConfig.getChild( "test" );
+
+        assertEquals( "replacedValue", rChild.getValue() );
+        
+        Xpp3Dom rConfig = (Xpp3Dom) rPlugin.getConfiguration();
+        
+        assertNotNull( rConfig );
+        
+        Xpp3Dom rChild2 = rConfig.getChild( "test2" );
+
+        assertEquals( "value2", rChild2.getValue() );
+    }
+    
     public void testProfileRepositoryShouldOverrideModelRepository()
     {
         Repository mRepository = new Repository();



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org