Author: vsiveton Date: Tue Jul 14 13:47:09 2009 New Revision: 793901 URL: http://svn.apache.org/viewvc?rev=793901&view=rev Log: MJAVADOC-232: copied doc-files folder contains svn meta files
o take care of SCM files o added test case Modified: maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocUtil.java maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/JavadocUtilTest.java Modified: maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocUtil.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocUtil.java?rev=793901&r1=793900&r2=793901&view=diff ============================================================================== --- maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocUtil.java (original) +++ maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocUtil.java Tue Jul 14 13:47:09 2009 @@ -320,15 +320,31 @@ if ( javadocDir.exists() && javadocDir.isDirectory() ) { - List docFiles = FileUtils.getDirectoryNames( javadocDir, "**/doc-files", StringUtils.join( excludes - .iterator(), "," ), false, true ); + List docFiles = + FileUtils.getDirectoryNames( javadocDir, "**/doc-files", StringUtils.join( excludes.iterator(), + "," ), false, true ); for ( Iterator it = docFiles.iterator(); it.hasNext(); ) { String docFile = (String) it.next(); File docFileOutput = new File( outputDirectory, docFile ); FileUtils.mkdir( docFileOutput.getAbsolutePath() ); - FileUtils.copyDirectory( new File( javadocDir, docFile ), docFileOutput ); + FileUtils.copyDirectoryStructure( new File( javadocDir, docFile ), docFileOutput ); + List files = + FileUtils.getFiles( docFileOutput, StringUtils.join( excludes.iterator(), "," ), null, true ); + for ( Iterator it2 = files.iterator(); it2.hasNext(); ) + { + File file = (File) it2.next(); + + if ( file.isDirectory() ) + { + FileUtils.deleteDirectory( file ); + } + else + { + file.delete(); + } + } } } } Modified: maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/JavadocUtilTest.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/JavadocUtilTest.java?rev=793901&r1=793900&r2=793901&view=diff ============================================================================== --- maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/JavadocUtilTest.java (original) +++ maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/JavadocUtilTest.java Tue Jul 14 13:47:09 2009 @@ -22,11 +22,15 @@ import java.io.File; import java.io.IOException; import java.net.URL; +import java.util.ArrayList; +import java.util.List; import java.util.regex.PatternSyntaxException; +import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.maven.settings.Proxy; import org.apache.maven.settings.Settings; import org.codehaus.plexus.PlexusTestCase; +import org.codehaus.plexus.util.FileUtils; /** * @author <a href="mailto:vincent.sive...@gmail.com">Vincent Siveton</a> @@ -317,4 +321,55 @@ assertTrue( true ); } } + + /** + * Method to test copyJavadocResources() + * + * @throws Exception if any + */ + public void testCopyJavadocResources() + throws Exception + { + File input = new File( getBasedir(), "src/test/resources/unit/docfiles-test/docfiles/" ); + assertTrue( input.exists() ); + + File output = new File( getBasedir(), "target/test/unit/docfiles-test/target/output" ); + if ( output.exists() ) + { + FileUtils.deleteDirectory( output ); + } + assertTrue( output.mkdirs() ); + + JavadocUtil.copyJavadocResources( output, input, null ); + List expected = new ArrayList(); + expected.add( "test" + File.separator + "doc-files" + File.separator + "excluded-dir1" + File.separator + + "sample-excluded1.gif" ); + expected.add( "test" + File.separator + "doc-files" + File.separator + "excluded-dir2" + File.separator + + "sample-excluded2.gif" ); + expected.add( "test" + File.separator + "doc-files" + File.separator + "included-dir1" + File.separator + + "sample-included1.gif" ); + expected.add( "test" + File.separator + "doc-files" + File.separator + "included-dir2" + File.separator + + "sample-included2.gif" ); + + assertTrue( EqualsBuilder.reflectionEquals( expected, FileUtils.getFiles( output, null, null, false ) ) ); + + input = new File( getBasedir(), "src/test/resources/unit/docfiles-test/docfiles/" ); + assertTrue( input.exists() ); + + output = new File( getBasedir(), "target/test/unit/docfiles-test/target/output" ); + if ( output.exists() ) + { + FileUtils.deleteDirectory( output ); + } + assertTrue( output.mkdirs() ); + + JavadocUtil.copyJavadocResources( output, input, "excluded-dir1:excluded-dir2" ); + expected = new ArrayList(); + expected.add( "test" + File.separator + "doc-files" + File.separator + "included-dir1" + File.separator + + "sample-included1.gif" ); + expected.add( "test" + File.separator + "doc-files" + File.separator + "included-dir2" + File.separator + + "sample-included2.gif" ); + + assertTrue( EqualsBuilder.reflectionEquals( expected, FileUtils.getFiles( output, null, null, false ) ) ); + } }