Author: jdcasey Date: Thu Aug 11 19:25:26 2005 New Revision: 232185 URL: http://svn.apache.org/viewcvs?rev=232185&view=rev Log: Fixing problem with mojo configuration merges between parameter configuration keyed by alias and by name within the POM, along with configuration within the MojoDescriptor.
Also adding an IT that will indirectly test that default parameter values are not being disturbed during the merge process. Added: maven/components/trunk/maven-core-it/it0048/ maven/components/trunk/maven-core-it/it0048/expected-results.txt (with props) maven/components/trunk/maven-core-it/it0048/goals.txt (with props) maven/components/trunk/maven-core-it/it0048/pom.xml (with props) maven/components/trunk/maven-core-it/it0048/src/ maven/components/trunk/maven-core-it/it0048/src/main/ maven/components/trunk/maven-core-it/it0048/src/main/java/ maven/components/trunk/maven-core-it/it0048/src/main/java/org/ maven/components/trunk/maven-core-it/it0048/src/main/java/org/apache/ maven/components/trunk/maven-core-it/it0048/src/main/java/org/apache/maven/ maven/components/trunk/maven-core-it/it0048/src/main/java/org/apache/maven/it0001/ maven/components/trunk/maven-core-it/it0048/src/main/java/org/apache/maven/it0001/Person.java (with props) maven/components/trunk/maven-core-it/it0048/src/main/resources/ maven/components/trunk/maven-core-it/it0048/src/main/resources/it0001.properties (with props) maven/components/trunk/maven-core-it/it0048/src/test/ maven/components/trunk/maven-core-it/it0048/src/test/java/ maven/components/trunk/maven-core-it/it0048/src/test/java/org/ maven/components/trunk/maven-core-it/it0048/src/test/java/org/apache/ maven/components/trunk/maven-core-it/it0048/src/test/java/org/apache/maven/ maven/components/trunk/maven-core-it/it0048/src/test/java/org/apache/maven/it0001/ maven/components/trunk/maven-core-it/it0048/src/test/java/org/apache/maven/it0001/PersonTest.java (with props) Modified: maven/components/trunk/maven-core-it/README.txt maven/components/trunk/maven-core-it/integration-tests.txt maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java Modified: maven/components/trunk/maven-core-it/README.txt URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it/README.txt?rev=232185&r1=232184&r2=232185&view=diff ============================================================================== --- maven/components/trunk/maven-core-it/README.txt (original) +++ maven/components/trunk/maven-core-it/README.txt Thu Aug 11 19:25:26 2005 @@ -131,10 +131,11 @@ it0046: Test fail-never reactor behavior. Forces an exception to be thrown in the first module, but checks that the second modules is built. -it0047: Test the use case for having a compile time dependency be transitive: when you extend a class you need its - dependencies at compile time. +it0047: Test the use case for having a compile time dependency be transitive: + when you extend a class you need its dependencies at compile time. -it0048: REMOVED. REPLACED WITH UNIT TESTS IN maven-project. +it0048: Verify that default values for mojo parameters are working (indirectly, + by verifying that the Surefire mojo is functioning correctly). it0049: Test parameter alias usage. Modified: maven/components/trunk/maven-core-it/integration-tests.txt URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it/integration-tests.txt?rev=232185&r1=232184&r2=232185&view=diff ============================================================================== --- maven/components/trunk/maven-core-it/integration-tests.txt (original) +++ maven/components/trunk/maven-core-it/integration-tests.txt Thu Aug 11 19:25:26 2005 @@ -1,5 +1,5 @@ it0049 -#it0048 +it0048 it0047 it0046 it0045 Added: maven/components/trunk/maven-core-it/it0048/expected-results.txt URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it/it0048/expected-results.txt?rev=232185&view=auto ============================================================================== --- maven/components/trunk/maven-core-it/it0048/expected-results.txt (added) +++ maven/components/trunk/maven-core-it/it0048/expected-results.txt Thu Aug 11 19:25:26 2005 @@ -0,0 +1 @@ +target/testFileOutput.txt Propchange: maven/components/trunk/maven-core-it/it0048/expected-results.txt ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/components/trunk/maven-core-it/it0048/expected-results.txt ------------------------------------------------------------------------------ svn:keywords = "Author Date Id Revision" Added: maven/components/trunk/maven-core-it/it0048/goals.txt URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it/it0048/goals.txt?rev=232185&view=auto ============================================================================== --- maven/components/trunk/maven-core-it/it0048/goals.txt (added) +++ maven/components/trunk/maven-core-it/it0048/goals.txt Thu Aug 11 19:25:26 2005 @@ -0,0 +1 @@ +test Propchange: maven/components/trunk/maven-core-it/it0048/goals.txt ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/components/trunk/maven-core-it/it0048/goals.txt ------------------------------------------------------------------------------ svn:keywords = "Author Date Id Revision" Added: maven/components/trunk/maven-core-it/it0048/pom.xml URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it/it0048/pom.xml?rev=232185&view=auto ============================================================================== --- maven/components/trunk/maven-core-it/it0048/pom.xml (added) +++ maven/components/trunk/maven-core-it/it0048/pom.xml Thu Aug 11 19:25:26 2005 @@ -0,0 +1,16 @@ +<model> + <modelVersion>4.0.0</modelVersion> + <groupId>org.apache.maven</groupId> + <artifactId>maven-core-it0048</artifactId> + <packaging>jar</packaging> + <version>1.0</version> + <dependencies> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>3.8.1</version> + <type>jar</type> + <scope>test</scope> + </dependency> + </dependencies> +</model> Propchange: maven/components/trunk/maven-core-it/it0048/pom.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/components/trunk/maven-core-it/it0048/pom.xml ------------------------------------------------------------------------------ svn:keywords = "Author Date Id Revision" Added: maven/components/trunk/maven-core-it/it0048/src/main/java/org/apache/maven/it0001/Person.java URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it/it0048/src/main/java/org/apache/maven/it0001/Person.java?rev=232185&view=auto ============================================================================== --- maven/components/trunk/maven-core-it/it0048/src/main/java/org/apache/maven/it0001/Person.java (added) +++ maven/components/trunk/maven-core-it/it0048/src/main/java/org/apache/maven/it0001/Person.java Thu Aug 11 19:25:26 2005 @@ -0,0 +1,16 @@ +package org.apache.maven.it0001; + +public class Person +{ + private String name; + + public void setName( String name ) + { + this.name = name; + } + + public String getName() + { + return name; + } +} Propchange: maven/components/trunk/maven-core-it/it0048/src/main/java/org/apache/maven/it0001/Person.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/components/trunk/maven-core-it/it0048/src/main/java/org/apache/maven/it0001/Person.java ------------------------------------------------------------------------------ svn:keywords = "Author Date Id Revision" Added: maven/components/trunk/maven-core-it/it0048/src/main/resources/it0001.properties URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it/it0048/src/main/resources/it0001.properties?rev=232185&view=auto ============================================================================== --- maven/components/trunk/maven-core-it/it0048/src/main/resources/it0001.properties (added) +++ maven/components/trunk/maven-core-it/it0048/src/main/resources/it0001.properties Thu Aug 11 19:25:26 2005 @@ -0,0 +1 @@ +name = jason Propchange: maven/components/trunk/maven-core-it/it0048/src/main/resources/it0001.properties ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/components/trunk/maven-core-it/it0048/src/main/resources/it0001.properties ------------------------------------------------------------------------------ svn:keywords = "Author Date Id Revision" Added: maven/components/trunk/maven-core-it/it0048/src/test/java/org/apache/maven/it0001/PersonTest.java URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it/it0048/src/test/java/org/apache/maven/it0001/PersonTest.java?rev=232185&view=auto ============================================================================== --- maven/components/trunk/maven-core-it/it0048/src/test/java/org/apache/maven/it0001/PersonTest.java (added) +++ maven/components/trunk/maven-core-it/it0048/src/test/java/org/apache/maven/it0001/PersonTest.java Thu Aug 11 19:25:26 2005 @@ -0,0 +1,40 @@ +package org.apache.maven.it0001; + +import junit.framework.TestCase; +import java.net.URL; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; + +public class PersonTest + extends TestCase +{ + public void testPerson() throws IOException + { + ClassLoader cloader = getClass().getClassLoader(); + + String path = getClass().getName().replace( '.', '/' ) + ".class"; + + URL resource = cloader.getResource( path ); + + File resourceFile = new File( resource.getPath() ); + + String dirPath = resourceFile.getAbsolutePath(); + + dirPath = dirPath.substring( 0, dirPath.length() - path.length() ); + + File dir = new File( dirPath ); + + dir = dir.getParentFile(); + + File testFile = new File( dir, "testFileOutput.txt" ); + + FileWriter writer = new FileWriter( testFile ); + + writer.write( "Test" ); + + writer.flush(); + + writer.close(); + } +} Propchange: maven/components/trunk/maven-core-it/it0048/src/test/java/org/apache/maven/it0001/PersonTest.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/components/trunk/maven-core-it/it0048/src/test/java/org/apache/maven/it0001/PersonTest.java ------------------------------------------------------------------------------ svn:keywords = "Author Date Id Revision" Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java?rev=232185&r1=232184&r2=232185&view=diff ============================================================================== --- maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java (original) +++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java Thu Aug 11 19:25:26 2005 @@ -865,19 +865,21 @@ pomConfig = buildTopDownMergedConfiguration( pomConfig, aliased ); } + boolean addedPomConfig = false; + if ( pomConfig != null ) { pomConfig = buildTopDownMergedConfiguration( pomConfig, mojoConfig ); -// if ( StringUtils.isEmpty( pomConfig.getValue( null ) ) && pomConfig.getChildCount() == 0 ) -// { -// // if we still can't find a value for this parameter, set to ${paramName} -// result.setValue( "${" + pomConfig.getName() + "}" ); -// } - - result.addChild( pomConfig ); + if ( StringUtils.isNotEmpty( pomConfig.getValue( null ) ) || pomConfig.getChildCount() > 0 ) + { + result.addChild( pomConfig ); + + addedPomConfig = true; + } } - else if ( mojoConfig != null ) + + if ( !addedPomConfig && mojoConfig != null ) { result.addChild( copyConfiguration( mojoConfig ) ); } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]