You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by vs...@apache.org on 2009/07/14 15:47:10 UTC

svn commit: r793901 - in /maven/plugins/trunk/maven-javadoc-plugin/src: main/java/org/apache/maven/plugin/javadoc/JavadocUtil.java test/java/org/apache/maven/plugin/javadoc/JavadocUtilTest.java

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.siveton@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 ) ) );
+    }
 }