You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by br...@apache.org on 2005/09/30 09:12:41 UTC

svn commit: r292654 - in /maven/maven-1/plugins/trunk/jxr: ./ src/main/org/apache/maven/jxr/ src/main/org/apache/maven/jxr/ant/ src/main/org/apache/maven/jxr/pacman/ src/main/org/apache/maven/jxr/util/ src/plugin-resources/templates/ src/test/org/apach...

Author: brett
Date: Fri Sep 30 00:12:30 2005
New Revision: 292654

URL: http://svn.apache.org/viewcvs?rev=292654&view=rev
Log:
switch to jxr library

Removed:
    maven/maven-1/plugins/trunk/jxr/project.properties
    maven/maven-1/plugins/trunk/jxr/src/main/org/apache/maven/jxr/CodeTransform.java
    maven/maven-1/plugins/trunk/jxr/src/main/org/apache/maven/jxr/DirectoryIndexer.java
    maven/maven-1/plugins/trunk/jxr/src/main/org/apache/maven/jxr/JXR.java
    maven/maven-1/plugins/trunk/jxr/src/main/org/apache/maven/jxr/ant/
    maven/maven-1/plugins/trunk/jxr/src/main/org/apache/maven/jxr/pacman/
    maven/maven-1/plugins/trunk/jxr/src/main/org/apache/maven/jxr/util/
    maven/maven-1/plugins/trunk/jxr/src/plugin-resources/templates/
    maven/maven-1/plugins/trunk/jxr/src/test/org/apache/maven/jxr/CodeTransformTest.java
Modified:
    maven/maven-1/plugins/trunk/jxr/   (props changed)
    maven/maven-1/plugins/trunk/jxr/plugin.properties
    maven/maven-1/plugins/trunk/jxr/project.xml
    maven/maven-1/plugins/trunk/jxr/src/main/org/apache/maven/jxr/JxrBean.java
    maven/maven-1/plugins/trunk/jxr/src/test/org/apache/maven/jxr/JxrBeanTest.java

Propchange: maven/maven-1/plugins/trunk/jxr/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Fri Sep 30 00:12:30 2005
@@ -3,3 +3,6 @@
 .settings
 junit*.properties
 target
+*.iml
+*.ipr
+*.iws

Modified: maven/maven-1/plugins/trunk/jxr/plugin.properties
URL: http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/jxr/plugin.properties?rev=292654&r1=292653&r2=292654&view=diff
==============================================================================
--- maven/maven-1/plugins/trunk/jxr/plugin.properties (original)
+++ maven/maven-1/plugins/trunk/jxr/plugin.properties Fri Sep 30 00:12:30 2005
@@ -24,4 +24,4 @@
 maven.jxr.destdir.test = ${maven.docs.dest}/xref-test
 
 maven.jxr.stylesheet = ${plugin.resources}/stylesheet.css
-maven.jxr.templateDir = ${plugin.resources}/templates
+maven.jxr.templateDir = templates

Modified: maven/maven-1/plugins/trunk/jxr/project.xml
URL: http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/jxr/project.xml?rev=292654&r1=292653&r2=292654&view=diff
==============================================================================
--- maven/maven-1/plugins/trunk/jxr/project.xml (original)
+++ maven/maven-1/plugins/trunk/jxr/project.xml Fri Sep 30 00:12:30 2005
@@ -22,7 +22,7 @@
   <pomVersion>3</pomVersion>
   <id>maven-jxr-plugin</id>
   <name>Maven JXR Plug-in</name>
-  <currentVersion>1.4.3</currentVersion>
+  <currentVersion>1.5-SNAPSHOT</currentVersion>
   <description>Create cross reference.</description>
   <shortDescription>Create cross reference</shortDescription>
   <url>http://maven.apache.org/reference/plugins/jxr/</url>
@@ -56,76 +56,35 @@
   </developers>
   <dependencies>
     <dependency>
-      <groupId>ant</groupId>
-      <artifactId>ant</artifactId>
-      <version>1.5.3-1</version>
-      <properties>
-        <classloader>root</classloader>
-      </properties>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-jxr</artifactId>
+      <version>1.0-beta-1-SNAPSHOT</version>
     </dependency>
     <dependency>
-      <groupId>commons-jelly</groupId>
-      <artifactId>commons-jelly</artifactId>
-      <version>1.0-beta-4</version>
-    </dependency>
-    <dependency>
-      <groupId>commons-jelly</groupId>
-      <artifactId>commons-jelly-tags-jsl</artifactId>
-      <version>1.0</version>
-    </dependency>
-    <dependency>
-      <groupId>commons-jelly</groupId>
-      <artifactId>commons-jelly-tags-xml</artifactId>
-      <version>1.0</version>
-      <url>http://jakarta.apache.org/commons/jelly/libs/xml/</url>
-    </dependency>
-    <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-      <version>2.0</version>
-    </dependency>
-    <dependency>
-      <groupId>dom4j</groupId>
-      <artifactId>dom4j</artifactId>
-      <version>1.4-dev-8</version>
-    </dependency>
-    <dependency>
-      <groupId>xerces</groupId>
-      <artifactId>xerces</artifactId>
-      <version>2.4.0</version>
+      <groupId>commons-logging</groupId>
+      <artifactId>commons-logging</artifactId>
+      <version>1.0.3</version>
     </dependency>
+    <!-- Transitive deps -->
     <dependency>
       <groupId>oro</groupId>
       <artifactId>oro</artifactId>
       <version>2.0.7</version>
     </dependency>
     <dependency>
-      <groupId>commons-logging</groupId>
-      <artifactId>commons-logging</artifactId>
+      <groupId>plexus</groupId>
+      <artifactId>plexus-utils</artifactId>
       <version>1.0.3</version>
     </dependency>
     <dependency>
-      <groupId>xml-apis</groupId>
-      <artifactId>xml-apis</artifactId>
-      <version>1.0.b2</version>
-      <properties>
-        <classloader>root</classloader>
-      </properties>
+      <groupId>velocity</groupId>
+      <artifactId>velocity</artifactId>
+      <version>1.4</version>
     </dependency>
     <dependency>
       <groupId>commons-collections</groupId>
       <artifactId>commons-collections</artifactId>
       <version>3.1</version>
-    </dependency>
-    <dependency>
-      <groupId>commons-beanutils</groupId>
-      <artifactId>commons-beanutils-core</artifactId>
-      <version>1.7.0</version>
-    </dependency>
-    <dependency>
-      <groupId>commons-jexl</groupId>
-      <artifactId>commons-jexl</artifactId>
-      <version>1.0-beta-1</version>
     </dependency>
   </dependencies>
   <versions>

Modified: maven/maven-1/plugins/trunk/jxr/src/main/org/apache/maven/jxr/JxrBean.java
URL: http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/jxr/src/main/org/apache/maven/jxr/JxrBean.java?rev=292654&r1=292653&r2=292654&view=diff
==============================================================================
--- maven/maven-1/plugins/trunk/jxr/src/main/org/apache/maven/jxr/JxrBean.java (original)
+++ maven/maven-1/plugins/trunk/jxr/src/main/org/apache/maven/jxr/JxrBean.java Fri Sep 30 00:12:30 2005
@@ -17,23 +17,13 @@
  * ====================================================================
  */
 
-import org.apache.maven.jxr.JXR;
-import org.apache.maven.jxr.DirectoryIndexer;
-import org.apache.maven.jxr.pacman.FileManager;
-import org.apache.maven.jxr.pacman.PackageManager;
-import org.apache.maven.jxr.pacman.PackageType;
-import org.apache.maven.jxr.pacman.ClassType;
-import java.util.Enumeration;
+import org.apache.commons.logging.LogFactory;
+import org.apache.commons.logging.Log;
 
-import java.util.List;
-import java.util.LinkedList;
-import java.util.Iterator;
-import java.io.File;
 import java.io.IOException;
-import java.io.FileNotFoundException;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Locale;
 
 /**
  * Creates an html-based, cross referenced  version of Java source code
@@ -46,23 +36,31 @@
  */
 public class JxrBean
 {
-    /** Log. */
-    private static final Log log = LogFactory.getLog(JxrBean.class);
-
     /*
      * See the doc comments for the corresponding getter/setter methods
      */
     private List sourceDirs;
+
     private String destDir;
-    private String lang;
+
+    private Locale locale;
+
     private String inputEncoding;
+
     private String outputEncoding;
+
     private String javadocDir;
+
     private String windowTitle;
+
     private String docTitle;
+
     private String bottom;
+
     private String templateDir;
 
+    private final Log log = LogFactory.getLog( JxrBean.class );
+
     /**
      * Default constructor
      */
@@ -73,109 +71,50 @@
 
     /**
      * Starts the cross-referencing and indexing.
-     *
-     * @throws IOException when any error occurs
      */
     public void xref()
-        throws Exception
+        throws JxrException
     {
-        // get a relative link to the javadocs
-        String javadocLinkDir = null;
-        if (javadocDir != null) {
-            javadocLinkDir = getRelativeLink(destDir, javadocDir);
-        }
-        
-        // first collect package and class info
-        PackageManager pkgmgr = new PackageManager();
-
-        FileManager.getInstance().setEncoding(inputEncoding);
-        
-        // go through each source directory and xref the java files
-        for (Iterator i = sourceDirs.iterator(); i.hasNext();)
-        {
-            String path = (String) i.next();
-            path = new File(path).getCanonicalPath();
-            
-            pkgmgr.process(path);
-            
-            new JXR(pkgmgr, path, destDir, lang, inputEncoding, outputEncoding, javadocLinkDir, "HEAD");
-        }
-        
-        // once we have all the source files xref'd, create the index pages
-        DirectoryIndexer indexer = new DirectoryIndexer(pkgmgr, destDir);
-        indexer.setOutputEncoding(outputEncoding);
-        indexer.setTemplateDir(getTemplateDir());
-        indexer.setWindowTitle(getWindowTitle());
-        indexer.setDocTitle(getDocTitle());
-        indexer.setBottom(getBottom());
-        indexer.process();
-    }
-    
-    /**
-     * Creates a relative link from one directory to another.
-     *
-     * Example:
-     *   given /foo/bar/baz/oink
-     *     and /foo/bar/schmoo
-     *
-     * this method will return a string of "../../schmoo/"
-     *
-     * @param fromDir The directory from which the link is relative.
-     * @param toDir   The directory into which the link points.
-     * @throws IOException
-     *    If a problem is encountered while navigating through the directories.
-     * @return a string of format "../../schmoo/"
-     */
-    private String getRelativeLink(String fromDir, String toDir)
-        throws IOException
-    {
-        StringBuffer toLink = new StringBuffer();   // up from fromDir
-        StringBuffer fromLink = new StringBuffer(); // down into toDir
-
-        // create a List of toDir's parent directories
-        LinkedList parents = new LinkedList();
-        File f = new File(toDir);
-        f = f.getCanonicalFile();
-        while (f != null)
+        org.apache.maven.jxr.log.Log logger = new org.apache.maven.jxr.log.Log()
         {
-            parents.add(f);
-            f = f.getParentFile();
-        }
-            
-        // walk up fromDir to find the common parent
-        f = new File(fromDir);
-        f = f.getCanonicalFile();
-        f = f.getParentFile();
-        boolean found = false;
-        while (f != null && !found)
-        {
-            for (int i = 0; i < parents.size(); ++i)
+            public void info( String message )
             {
-                File parent = (File) parents.get(i);
-                if (f.equals(parent))
-                {
-                    // when we find the common parent, add the subdirectories 
-                    // down to toDir itself
-                    for (int j = 0; j < i; ++j)
-                    {
-                        File p = (File) parents.get(j);
-                        toLink.insert(0, p.getName() + "/");
-                    }
-                    found = true;
-                    break;
-                }
+                log.info( message );
             }
-            f = f.getParentFile();
-            fromLink.append("../");
-        }
 
-        if (!found)
+            public void debug( String message )
+            {
+                log.info( message );
+            }
+
+            public void warn( String message )
+            {
+                log.info( message );
+            }
+
+            public void error( String message )
+            {
+                log.info( message );
+            }
+        };
+
+        JXR jxr = new JXR();
+        jxr.setDest( destDir );
+        jxr.setLocale( locale );
+        jxr.setInputEncoding( inputEncoding );
+        jxr.setOutputEncoding( outputEncoding );
+        jxr.setJavadocLinkDir( javadocDir );
+        jxr.setRevision( "HEAD" );
+        jxr.setLog( logger );
+
+        try
         {
-            throw new FileNotFoundException(fromDir + " and " + toDir +
-                                            " have no common parent.");
+            jxr.xref( sourceDirs, getTemplateDir(), getWindowTitle(), getDocTitle(), getBottom() );
+        }
+        catch ( IOException e )
+        {
+            throw new JxrException( "Error processing files", e );
         }
-
-        return fromLink.append(toLink.toString()).toString();
     }
 
     /**
@@ -183,13 +122,13 @@
      *
      * @param sourceDir The source directory to be cross-referenced.
      */
-    public void setSourceDir(String sourceDir)
+    public void setSourceDir( String sourceDir )
     {
-        if (!sourceDirs.isEmpty())
+        if ( !sourceDirs.isEmpty() )
         {
             sourceDirs.clear();
         }
-        addSourceDir(sourceDir);
+        addSourceDir( sourceDir );
     }
 
     /**
@@ -197,9 +136,9 @@
      *
      * @param sourceDir The source directory to be cross-referenced.
      */
-    public void addSourceDir(String sourceDir)
+    public void addSourceDir( String sourceDir )
     {
-        sourceDirs.add(sourceDir);
+        sourceDirs.add( sourceDir );
     }
 
 
@@ -208,57 +147,41 @@
      *
      * @param destDir the destination directory for jxr output
      */
-    public void setDestDir(String destDir)
+    public void setDestDir( String destDir )
     {
         this.destDir = destDir;
     }
 
     /**
      * see setDestDir(String)
-     *
-     * @see setDestDir(String)
      */
     public String getDestDir()
     {
         return destDir;
     }
 
-
-    /**
-     * Lang attribute of output files.
-     *
-     * @param lang lang attribute of output files.
-     */
-    public void setLang(String lang)
+    public Locale getLocale()
     {
-        this.lang = lang;
+        return locale;
     }
 
-    /**
-     * see setLang(String)
-     *
-     * @see setLang(String)
-     */
-    public String getLang()
+    public void setLocale( Locale locale )
     {
-        return lang;
+        this.locale = locale;
     }
 
-
     /**
      * InputEncoding is the encoding of source files.
      *
      * @param inputEncoding encoding of source files
      */
-    public void setInputEncoding(String inputEncoding)
+    public void setInputEncoding( String inputEncoding )
     {
         this.inputEncoding = inputEncoding;
     }
 
     /**
      * see setInputEncoding(String)
-     *
-     * @see setInputEncoding(String)
      */
     public String getInputEncoding()
     {
@@ -271,15 +194,13 @@
      *
      * @param outputEncoding encoding of output files
      */
-    public void setOutputEncoding(String outputEncoding)
+    public void setOutputEncoding( String outputEncoding )
     {
         this.outputEncoding = outputEncoding;
     }
 
     /**
      * see setOutputEncoding(String)
-     *
-     * @see setOutputEncoding(String)
      */
     public String getOutputEncoding()
     {
@@ -290,20 +211,18 @@
     /**
      * JavadocDir is used to cross-reference the source code with
      * the appropriate javadoc pages.
-     * 
+     *
      * If <code>null</code>, no javadoc link will be added.
      *
      * @param javadocDir The root directory containing javadocs
      */
-    public void setJavadocDir(String javadocDir)
+    public void setJavadocDir( String javadocDir )
     {
         this.javadocDir = javadocDir;
     }
 
     /**
      * see setJavadocDir(String)
-     *
-     * @see setJavadocDir(String)
      */
     public String getJavadocDir()
     {
@@ -316,7 +235,7 @@
      * @param windowTitle used by DirectoryIndexer
      * @see DirectoryIndexer#setWindowTitle(String) setWindowTitle(String)
      */
-    public void setWindowTitle(String windowTitle)
+    public void setWindowTitle( String windowTitle )
     {
         this.windowTitle = windowTitle;
     }
@@ -337,7 +256,7 @@
      * @param docTitle used by DirectoryIndexer
      * @see DirectoryIndexer#setDocTitle(String) setDocTitle(String)
      */
-    public void setDocTitle(String docTitle)
+    public void setDocTitle( String docTitle )
     {
         this.docTitle = docTitle;
     }
@@ -358,7 +277,7 @@
      * @param bottom used by DirectoryIndexer
      * @see DirectoryIndexer#setBottom(String) setBottom(String)
      */
-    public void setBottom(String bottom)
+    public void setBottom( String bottom )
     {
         this.bottom = bottom;
     }
@@ -378,15 +297,13 @@
      *
      * @param templateDir the template directory
      */
-    public void setTemplateDir(String templateDir)
+    public void setTemplateDir( String templateDir )
     {
         this.templateDir = templateDir;
     }
 
     /**
      * see setTemplateDir(String)
-     *
-     * @see setTemplateDir(String) setTemplateDir(String)
      */
     public String getTemplateDir()
     {

Modified: maven/maven-1/plugins/trunk/jxr/src/test/org/apache/maven/jxr/JxrBeanTest.java
URL: http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/jxr/src/test/org/apache/maven/jxr/JxrBeanTest.java?rev=292654&r1=292653&r2=292654&view=diff
==============================================================================
--- maven/maven-1/plugins/trunk/jxr/src/test/org/apache/maven/jxr/JxrBeanTest.java (original)
+++ maven/maven-1/plugins/trunk/jxr/src/test/org/apache/maven/jxr/JxrBeanTest.java Fri Sep 30 00:12:30 2005
@@ -17,7 +17,7 @@
         jxrBean.setDestDir( System.getProperty( "basedir" ) + "/target" );
         jxrBean.setInputEncoding( "ISO-8859-1" );
         jxrBean.setOutputEncoding( "ISO-8859-1" );
-        jxrBean.setTemplateDir( System.getProperty( "basedir" ) + "/src/plugin-resources/templates" );
+        jxrBean.setTemplateDir( "templates" );
         jxrBean.setJavadocDir( "" );
         jxrBean.setWindowTitle( "title" );
         jxrBean.setDocTitle( "title" );



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org