Author: dantran
Date: Sat Mar 27 03:39:51 2010
New Revision: 928132
URL: http://svn.apache.org/viewvc?rev=928132&view=rev
Log:
[SCM-526] implement checkout/export's excludes/includes plus tests
Added:
maven/scm/trunk/maven-scm-plugin/src/test/resources/mojos/export/exportWithExcludesIncludes.xml
(with props)
Modified:
maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/AbstractScmMojo.java
maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/CheckoutMojo.java
maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/ExportMojo.java
maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/CheckoutMojoTest.java
maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/ExportMojoTest.java
Modified:
maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/AbstractScmMojo.java
URL:
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/AbstractScmMojo.java?rev=928132&r1=928131&r2=928132&view=diff
==============================================================================
---
maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/AbstractScmMojo.java
(original)
+++
maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/AbstractScmMojo.java
Sat Mar 27 03:39:51 2010
@@ -468,7 +468,7 @@ public abstract class AbstractScmMojo
throw new MojoExecutionException( "Unknown '" + versionType + "'
version type." );
}
- protected void cleanCheckoutDirectory( File checkoutDirectory )
+ protected void handleExcludesIncludesAfterCheckoutAndExport( File
checkoutDirectory )
throws MojoExecutionException
{
List includes = new ArrayList();
@@ -502,8 +502,8 @@ public abstract class AbstractScmMojo
FileSet fileset = new FileSet();
fileset.setDirectory( checkoutDirectory.getAbsolutePath() );
- fileset.setIncludes( includes );
- fileset.setExcludes( excludes );
+ fileset.setIncludes( excludes );//revert the order to do the delete
+ fileset.setExcludes( includes );
fileset.setUseDefaultExcludes( false );
try
Modified:
maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/CheckoutMojo.java
URL:
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/CheckoutMojo.java?rev=928132&r1=928131&r2=928132&view=diff
==============================================================================
---
maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/CheckoutMojo.java
(original)
+++
maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/CheckoutMojo.java
Sat Mar 27 03:39:51 2010
@@ -127,8 +127,8 @@ public class CheckoutMojo
checkResult( result );
- //to be activated after tests are fully added
- //cleanCheckoutDirectory( this.checkoutDirectory );
+
+ handleExcludesIncludesAfterCheckoutAndExport(
this.checkoutDirectory );
return result;
}
Modified:
maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/ExportMojo.java
URL:
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/ExportMojo.java?rev=928132&r1=928131&r2=928132&view=diff
==============================================================================
---
maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/ExportMojo.java
(original)
+++
maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/ExportMojo.java
Sat Mar 27 03:39:51 2010
@@ -122,8 +122,7 @@ public class ExportMojo
checkResult( result );
- //to be activated after tests are fully added
- //cleanCheckoutDirectory( this.exportDirectory );
+ handleExcludesIncludesAfterCheckoutAndExport( this.exportDirectory
);
}
catch ( ScmException e )
{
Modified:
maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/CheckoutMojoTest.java
URL:
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/CheckoutMojoTest.java?rev=928132&r1=928131&r2=928132&view=diff
==============================================================================
---
maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/CheckoutMojoTest.java
(original)
+++
maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/CheckoutMojoTest.java
Sat Mar 27 03:39:51 2010
@@ -126,7 +126,7 @@ public class CheckoutMojoTest
assertFalse( new File( checkoutDir, ".svn" ).exists() );
}
- public void notestExcludeInclude()
+ public void testExcludeInclude()
throws Exception
{
checkoutDir.mkdirs();
@@ -140,8 +140,13 @@ public class CheckoutMojoTest
mojo.execute();
assertTrue( checkoutDir.listFiles().length > 0 );
- assertFalse( new File( checkoutDir, "pom.xml" ).exists() );
- //assertFalse( ! new File( checkoutDir, "readme.txt" ).exists() );
+ assertTrue( new File( checkoutDir, ".svn").exists() );
+ assertTrue( new File( checkoutDir, "pom.xml" ).exists() );
+ assertFalse( new File( checkoutDir, "readme.txt" ).exists() );
+ assertFalse( new File( checkoutDir, "src/test" ).exists() );
+ assertTrue( new File( checkoutDir, "src/main/java" ).exists() );
+ assertTrue( new File( checkoutDir, "src/main/java/.svn" ).exists() );
+ assertTrue( new File( checkoutDir, "src/main/.svn" ).exists() );
}
}
Modified:
maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/ExportMojoTest.java
URL:
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/ExportMojoTest.java?rev=928132&r1=928131&r2=928132&view=diff
==============================================================================
---
maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/ExportMojoTest.java
(original)
+++
maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/ExportMojoTest.java
Sat Mar 27 03:39:51 2010
@@ -54,23 +54,43 @@ public class ExportMojoTest
mojo.execute();
- assertTrue( exportDir.listFiles().length > 0 );
+ assertTrue( exportDir.listFiles().length > 0 );
assertFalse( new File( exportDir, ".svn" ).exists() );
}
-
+
public void testSkipExportIfExists()
throws Exception
{
exportDir.mkdirs();
- ExportMojo mojo = (ExportMojo) lookupMojo( "export", getTestFile(
-
"src/test/resources/mojos/export/exportWhenExportDirectoryExistsAndSkip.xml" )
);
+ ExportMojo mojo = (ExportMojo) lookupMojo(
+ "export",
+ getTestFile(
"src/test/resources/mojos/export/exportWhenExportDirectoryExistsAndSkip.xml" )
);
+
+ mojo.setExportDirectory( exportDir );
+
+ mojo.execute();
+
+ assertEquals( 0, exportDir.listFiles().length );
+ }
+
+ public void testExcludeInclude()
+ throws Exception
+ {
+ exportDir.mkdirs();
+
+ ExportMojo mojo = (ExportMojo) lookupMojo(
+ "export",
+ getTestFile(
"src/test/resources/mojos/export/exportWithExcludesIncludes.xml" ) );
mojo.setExportDirectory( exportDir );
mojo.execute();
- assertEquals( 0, exportDir.listFiles().length );
+ assertTrue( exportDir.listFiles().length > 0 );
+ assertTrue( new File( exportDir, "pom.xml" ).exists() );
+ assertFalse( new File( exportDir, "readme.txt" ).exists() );
+ assertFalse( new File( exportDir, "src/test" ).exists() );
}
}
Added:
maven/scm/trunk/maven-scm-plugin/src/test/resources/mojos/export/exportWithExcludesIncludes.xml
URL:
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-plugin/src/test/resources/mojos/export/exportWithExcludesIncludes.xml?rev=928132&view=auto
==============================================================================
---
maven/scm/trunk/maven-scm-plugin/src/test/resources/mojos/export/exportWithExcludesIncludes.xml
(added)
+++
maven/scm/trunk/maven-scm-plugin/src/test/resources/mojos/export/exportWithExcludesIncludes.xml
Sat Mar 27 03:39:51 2010
@@ -0,0 +1,36 @@
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ -->
+
+<project>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-scm-plugin</artifactId>
+ <configuration>
+ <settings implementation="org.apache.maven.settings.Settings"/>
+ <exportDirectory>target/export</exportDirectory>
+ <connectionType>connection</connectionType>
+
<connectionUrl>scm:svn:file:///${basedir}/target/repository/trunk</connectionUrl>
+ <includes>pom.xml</includes>
+ <excludes>readme.txt,src/test</excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
\ No newline at end of file
Propchange:
maven/scm/trunk/maven-scm-plugin/src/test/resources/mojos/export/exportWithExcludesIncludes.xml
------------------------------------------------------------------------------
svn:eol-style = native