You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by de...@apache.org on 2007/02/27 23:42:09 UTC
svn commit: r512465 - in /maven/jxr/trunk/src:
main/java/org/apache/maven/jxr/ main/java/org/apache/maven/jxr/pacman/
test/java/org/apache/maven/jxr/ test/resources/exclude/
test/resources/include/
Author: dennisl
Date: Tue Feb 27 14:42:08 2007
New Revision: 512465
URL: http://svn.apache.org/viewvc?view=rev&rev=512465
Log:
[JXR-17] JXR has no option to include / exclude source files
Added:
maven/jxr/trunk/src/test/java/org/apache/maven/jxr/IncludeExcludeTest.java (with props)
maven/jxr/trunk/src/test/resources/exclude/
maven/jxr/trunk/src/test/resources/exclude/ExcludedClass.java (with props)
maven/jxr/trunk/src/test/resources/include/
maven/jxr/trunk/src/test/resources/include/IncludedClass.java (with props)
maven/jxr/trunk/src/test/resources/include/NotIncludedClass.java (with props)
Modified:
maven/jxr/trunk/src/main/java/org/apache/maven/jxr/JXR.java
maven/jxr/trunk/src/main/java/org/apache/maven/jxr/pacman/PackageManager.java
Modified: maven/jxr/trunk/src/main/java/org/apache/maven/jxr/JXR.java
URL: http://svn.apache.org/viewvc/maven/jxr/trunk/src/main/java/org/apache/maven/jxr/JXR.java?view=diff&rev=512465&r1=512464&r2=512465
==============================================================================
--- maven/jxr/trunk/src/main/java/org/apache/maven/jxr/JXR.java (original)
+++ maven/jxr/trunk/src/main/java/org/apache/maven/jxr/JXR.java Tue Feb 27 14:42:08 2007
@@ -52,6 +52,11 @@
"<a href=\"http://maven.apache.org/\">Maven</a>";
/**
+ * The default list of include patterns to use.
+ */
+ private static final String[] DEFAULT_INCLUDES = {"**/*.java"};
+
+ /**
* Path to destination.
*/
private String dest = "";
@@ -79,6 +84,16 @@
private String revision;
/**
+ * The list of exclude patterns to use.
+ */
+ private String[] excludes = null;
+
+ /**
+ * The list of include patterns to use.
+ */
+ private String[] includes = DEFAULT_INCLUDES;
+
+ /**
* Now that we have instantiated everything. Process this JXR task.
*
* @param packageManager
@@ -91,6 +106,10 @@
this.transformer = new JavaCodeTransform( packageManager );
DirectoryScanner ds = new DirectoryScanner();
+ // I'm not sure why we don't use the directoryScanner in packageManager,
+ // but since we don't we need to set includes/excludes here as well
+ ds.setExcludes( excludes );
+ ds.setIncludes( includes );
ds.addDefaultExcludes();
File dir = new File( source );
@@ -238,6 +257,8 @@
fileManager.setEncoding( inputEncoding );
PackageManager pkgmgr = new PackageManager( log, fileManager );
+ pkgmgr.setExcludes( excludes );
+ pkgmgr.setIncludes( includes );
// go through each source directory and xref the java files
for ( Iterator i = sourceDirs.iterator(); i.hasNext(); )
@@ -382,5 +403,24 @@
}
return fromLink.append( toLink.toString() ).toString();
+ }
+
+ public void setExcludes( String[] excludes )
+ {
+ this.excludes = excludes;
+ }
+
+
+ public void setIncludes( String[] includes )
+ {
+ if ( includes == null )
+ {
+ // We should not include non-java files, so we use a sensible default pattern
+ this.includes = DEFAULT_INCLUDES;
+ }
+ else
+ {
+ this.includes = includes;
+ }
}
}
Modified: maven/jxr/trunk/src/main/java/org/apache/maven/jxr/pacman/PackageManager.java
URL: http://svn.apache.org/viewvc/maven/jxr/trunk/src/main/java/org/apache/maven/jxr/pacman/PackageManager.java?view=diff&rev=512465&r1=512464&r2=512465
==============================================================================
--- maven/jxr/trunk/src/main/java/org/apache/maven/jxr/pacman/PackageManager.java (original)
+++ maven/jxr/trunk/src/main/java/org/apache/maven/jxr/pacman/PackageManager.java Tue Feb 27 14:42:08 2007
@@ -50,6 +50,16 @@
private FileManager fileManager;
+ /**
+ * The list of exclude patterns to use.
+ */
+ private String[] excludes = null;
+
+ /**
+ * The list of include patterns to use.
+ */
+ private String[] includes = {"**/*.java"};
+
public PackageManager( Log log, FileManager fileManager )
{
this.log = log;
@@ -99,7 +109,7 @@
DirectoryScanner directoryScanner = new DirectoryScanner();
File baseDir = new File( directory );
directoryScanner.setBasedir( baseDir );
- String[] includes = {"**/*.java"};
+ directoryScanner.setExcludes( excludes );
directoryScanner.setIncludes( includes );
directoryScanner.scan();
String[] files = directoryScanner.getIncludedFiles();
@@ -200,6 +210,17 @@
public FileManager getFileManager()
{
return fileManager;
+ }
+
+ public void setExcludes( String[] excludes )
+ {
+ this.excludes = excludes;
+ }
+
+
+ public void setIncludes( String[] includes )
+ {
+ this.includes = includes;
}
}
Added: maven/jxr/trunk/src/test/java/org/apache/maven/jxr/IncludeExcludeTest.java
URL: http://svn.apache.org/viewvc/maven/jxr/trunk/src/test/java/org/apache/maven/jxr/IncludeExcludeTest.java?view=auto&rev=512465
==============================================================================
--- maven/jxr/trunk/src/test/java/org/apache/maven/jxr/IncludeExcludeTest.java (added)
+++ maven/jxr/trunk/src/test/java/org/apache/maven/jxr/IncludeExcludeTest.java Tue Feb 27 14:42:08 2007
@@ -0,0 +1,65 @@
+package org.apache.maven.jxr;
+
+/*
+ * 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.
+ */
+
+import junit.framework.TestCase;
+
+import java.io.File;
+import java.util.Collections;
+
+/**
+ * Test include/exclude patterns.
+ *
+ * @author <a href="mailto:dennisl@apache.org">Dennis Lundberg</a>
+ * @version $Id: IncludeExcludeTest.java 497825 2007-01-19 14:22:06Z dennisl $
+ */
+public class IncludeExcludeTest extends TestCase
+{
+ private JXR jxr;
+
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+ jxr = new JXR();
+ jxr.setDest( System.getProperty( "basedir" ) + "/target" );
+ jxr.setInputEncoding( "ISO-8859-1" );
+ jxr.setOutputEncoding( "ISO-8859-1" );
+ jxr.setJavadocLinkDir( "" );
+ jxr.setLog( new DummyLog() );
+ }
+
+ public void testIncludeExclude()
+ throws Exception
+ {
+ String[] excludes = {"**/exclude/ExcludedClass.java"};
+ jxr.setExcludes( excludes );
+ String[] includes = {"**/exclude/*.java", "**/include/IncludedClass.java"};
+ jxr.setIncludes( includes );
+ jxr.xref( Collections.singletonList( System.getProperty( "basedir" ) + "/src/test/resources" ), "templates",
+ "title", "title", "copyright" );
+ File excludedFile = new File( System.getProperty( "basedir" ) + "/target/exclude/ExcludedClass.html" );
+ assertFalse( excludedFile.exists() );
+ File includedFile = new File( System.getProperty( "basedir" ) + "/target/include/IncludedClass.html" );
+ assertTrue( includedFile.exists() );
+ File notIncludedFile = new File( System.getProperty( "basedir" ) + "/target/include/NotIncludedClass.html" );
+ assertFalse( notIncludedFile.exists() );
+ }
+}
Propchange: maven/jxr/trunk/src/test/java/org/apache/maven/jxr/IncludeExcludeTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/jxr/trunk/src/test/resources/exclude/ExcludedClass.java
URL: http://svn.apache.org/viewvc/maven/jxr/trunk/src/test/resources/exclude/ExcludedClass.java?view=auto&rev=512465
==============================================================================
--- maven/jxr/trunk/src/test/resources/exclude/ExcludedClass.java (added)
+++ maven/jxr/trunk/src/test/resources/exclude/ExcludedClass.java Tue Feb 27 14:42:08 2007
@@ -0,0 +1,8 @@
+package exclude;
+
+/**
+ * An excluded class.
+ */
+public class ExcludedClass
+{
+}
Propchange: maven/jxr/trunk/src/test/resources/exclude/ExcludedClass.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/jxr/trunk/src/test/resources/include/IncludedClass.java
URL: http://svn.apache.org/viewvc/maven/jxr/trunk/src/test/resources/include/IncludedClass.java?view=auto&rev=512465
==============================================================================
--- maven/jxr/trunk/src/test/resources/include/IncludedClass.java (added)
+++ maven/jxr/trunk/src/test/resources/include/IncludedClass.java Tue Feb 27 14:42:08 2007
@@ -0,0 +1,8 @@
+package include;
+
+/**
+ * An included class.
+ */
+public class IncludedClass
+{
+}
Propchange: maven/jxr/trunk/src/test/resources/include/IncludedClass.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/jxr/trunk/src/test/resources/include/NotIncludedClass.java
URL: http://svn.apache.org/viewvc/maven/jxr/trunk/src/test/resources/include/NotIncludedClass.java?view=auto&rev=512465
==============================================================================
--- maven/jxr/trunk/src/test/resources/include/NotIncludedClass.java (added)
+++ maven/jxr/trunk/src/test/resources/include/NotIncludedClass.java Tue Feb 27 14:42:08 2007
@@ -0,0 +1,8 @@
+package include;
+
+/**
+ * A class that is not included.
+ */
+public class NotIncludedClass
+{
+}
Propchange: maven/jxr/trunk/src/test/resources/include/NotIncludedClass.java
------------------------------------------------------------------------------
svn:eol-style = native