You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by tr...@apache.org on 2005/09/01 21:11:57 UTC

svn commit: r265765 - in /maven/components/trunk/maven-plugins/maven-javadoc-plugin: pom.xml src/main/java/org/apache/maven/plugin/javadoc/JavadocJar.java src/main/java/org/apache/maven/plugin/javadoc/JavadocReport.java

Author: trygvis
Date: Thu Sep  1 12:11:49 2005
New Revision: 265765

URL: http://svn.apache.org/viewcvs?rev=265765&view=rev
Log:
Fixing MNG-810: "create a mojo goal named -> javadoc:jar"

Added:
    maven/components/trunk/maven-plugins/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocJar.java   (with props)
Modified:
    maven/components/trunk/maven-plugins/maven-javadoc-plugin/pom.xml
    maven/components/trunk/maven-plugins/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocReport.java

Modified: maven/components/trunk/maven-plugins/maven-javadoc-plugin/pom.xml
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-javadoc-plugin/pom.xml?rev=265765&r1=265764&r2=265765&view=diff
==============================================================================
--- maven/components/trunk/maven-plugins/maven-javadoc-plugin/pom.xml (original)
+++ maven/components/trunk/maven-plugins/maven-javadoc-plugin/pom.xml Thu Sep  1 12:11:49 2005
@@ -44,6 +44,16 @@
       <groupId>plexus</groupId>
       <artifactId>plexus-utils</artifactId>
     </dependency>
+    <dependency>
+      <groupId>plexus</groupId>
+      <artifactId>plexus-archiver</artifactId>
+      <version>1.0-alpha-1</version>
+    </dependency>
+    <dependency>
+      <groupId>plexus</groupId>
+      <artifactId>plexus-container-default</artifactId>
+      <version>1.0-alpha-1</version>
+    </dependency>
   </dependencies>
   <developers>
     <developer>

Added: maven/components/trunk/maven-plugins/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocJar.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocJar.java?rev=265765&view=auto
==============================================================================
--- maven/components/trunk/maven-plugins/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocJar.java (added)
+++ maven/components/trunk/maven-plugins/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocJar.java Thu Sep  1 12:11:49 2005
@@ -0,0 +1,87 @@
+package org.apache.maven.plugin.javadoc;
+
+/*
+ * Copyright 2004-2005 The Apache Software Foundation.
+ *
+ * Licensed 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 org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.codehaus.plexus.archiver.ArchiverException;
+import org.codehaus.plexus.archiver.jar.JarArchiver;
+
+import java.io.File;
+import java.io.IOException;
+
+/**
+ * @goal jar
+ * @phase package
+ * @execute phase="javadoc:javadoc"
+ */
+public class JavadocJar
+    extends AbstractMojo
+{
+    /**
+     * @parameter expression="${project.build.directory}"
+     */
+    private String outputDirectory;
+
+    /**
+     * @parameter expression="${project.build.finalName}"
+     */
+    private String finalName;
+
+    public void execute()
+        throws MojoExecutionException
+    {
+        try
+        {
+            generateArchive( outputDirectory + "/javadoc", finalName + "-javadoc.jar" );
+        }
+        catch ( ArchiverException e )
+        {
+            throw new MojoExecutionException( "Error while creating archive.", e );
+        }
+        catch ( IOException e )
+        {
+            throw new MojoExecutionException( "Error while creating archive.", e );
+        }
+    }
+
+    private void generateArchive( String source, String target )
+        throws MojoExecutionException, ArchiverException, IOException
+    {
+        File javadocFiles = new File( source );
+
+        if ( !javadocFiles.exists() )
+        {
+            throw new MojoExecutionException( "javadoc files not found." );
+        }
+
+        File javadocJar = new File( outputDirectory, target );
+
+        if ( javadocJar.exists() )
+        {
+            javadocJar.delete();
+        }
+
+        JarArchiver archiver = new JarArchiver();
+
+        archiver.addDirectory( javadocFiles );
+
+        archiver.setDestFile( javadocJar );
+
+        archiver.createArchive();
+    }
+}

Propchange: maven/components/trunk/maven-plugins/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocJar.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/trunk/maven-plugins/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocJar.java
------------------------------------------------------------------------------
    svn:keywords = Id

Modified: maven/components/trunk/maven-plugins/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocReport.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocReport.java?rev=265765&r1=265764&r2=265765&view=diff
==============================================================================
--- maven/components/trunk/maven-plugins/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocReport.java (original)
+++ maven/components/trunk/maven-plugins/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocReport.java Thu Sep  1 12:11:49 2005
@@ -124,8 +124,7 @@
      * Uses the sentence break iterator to determine the end of the first sentence.
      * See <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#breakiterator">breakiterator</a>.
      * 
-     * @parameter expression="${breakiterator}"
-     * default-value="false"
+     * @parameter expression="${breakiterator}" default-value="false"
      */
     private boolean breakiterator = false;
 
@@ -197,8 +196,7 @@
      * This option created documentation with the appearance and functionality of documentation generated by Javadoc 1.1.
      * See <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#1.1">1.1</a>.
      * 
-     * @parameter expression="${old}"
-     * default-value="false"
+     * @parameter expression="${old}" default-value="false"
      */
     private boolean old = false;
 
@@ -214,8 +212,7 @@
      * Shows only protected and public classes and members.
      * See <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#package">package</a>.
      * 
-     * @parameter expression="${package}"
-     * default-value="true"
+     * @parameter expression="${package}" default-value="true"
      */
     private boolean showPackage = true;
 
@@ -223,8 +220,7 @@
      * Shows only protected and public classes and members.
      * See <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#protected">protected</a>.
      *
-     * @parameter expression="${protected}"
-     * default-value="false"
+     * @parameter expression="${protected}" default-value="false"
      */
     private boolean showProtected = false;
 
@@ -232,8 +228,7 @@
      * Shows all classes and members.
      * See <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#private">private</a>
      * 
-     * @parameter expression="${private}"
-     * default-value="false"
+     * @parameter expression="${private}" default-value="false"
      */
     private boolean showPrivate = false;
 
@@ -241,8 +236,7 @@
      * Shows only public classes and members.
      * See <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#public">public</a>.
      * 
-     * @parameter expression="${public}"
-     * default-value="false"
+     * @parameter expression="${public}" default-value="false"
      */
     private boolean public_ = false;
 
@@ -250,8 +244,7 @@
      * Shuts off non-error and non-warning messages, leaving only the warnings and errors appear, making them easier to view.
      * See <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#quiet">quiet</a>.
      * 
-     * @parameter expression="${quiet}"
-     * default-value="false"
+     * @parameter expression="${quiet}" default-value="false"
      */
     private boolean quiet = false;
 
@@ -267,8 +260,7 @@
      * Provides more detailed messages while javadoc is running.
      * See <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#verbose">verbose</a>.
      * 
-     * @parameter expression="${verbose}"
-     * default-value="false"
+     * @parameter expression="${verbose}" default-value="false"
      */
     private boolean verbose = false;
 
@@ -278,8 +270,7 @@
      * Specifies whether or not the author text is included in the generated Javadocs.
      * See <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#author">author</a>.
      * 
-     * @parameter expression="${author}"
-     * default-value="true"
+     * @parameter expression="${author}" default-value="true"
      */
     private boolean author = true;
 
@@ -287,8 +278,7 @@
      * Specifies the text to be placed at the bottom of each output file.
      * See <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#bottom">bottom</a>.
      * 
-     * @parameter expression="${bottom}"
-     * default-value="Copyright ${project.inceptionYear-currentYear} ${project.organization.name}. All Rights Reserved."
+     * @parameter expression="${bottom}" default-value="Copyright ${project.inceptionYear-currentYear} ${project.organization.name}. All Rights Reserved."
      */
     private String bottom;
 
@@ -296,8 +286,7 @@
      * Specifies the HTML character set for this document.
      * See <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#charset">charset</a>.
      * 
-     * @parameter expression="${charset}"
-     * default-value="ISO-8859-1"
+     * @parameter expression="${charset}" default-value="ISO-8859-1"
      */
     private String charset = "ISO-8859-1";
 
@@ -305,8 +294,7 @@
      * Specifies the destination directory where javadoc saves the generated HTML files. 
      * See <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#d">d</a>.
      * 
-     * @parameter expression="${destDir}"
-     * default-value="${project.build.directory}/site/apidocs"
+     * @parameter expression="${destDir}" default-value="${project.build.directory}/site/apidocs"
      */
     private String destDir;
 
@@ -314,8 +302,7 @@
      * Enables deep copying of "doc-files" directories.
      * See <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#docfilessubdirs">docfilessubdirs</a>.
      * 
-     * @parameter expression="${docfilessubdirs}"
-     * default-value="false"
+     * @parameter expression="${docfilessubdirs}" default-value="false"
      */
     private boolean docfilessubdirs = false;
 
@@ -331,8 +318,7 @@
      * Specifies the title to be placed near the top of the overview summary file. 
      * See <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#doctitle">doctitle</a>.
      * 
-     * @parameter expression="${doctitle}"
-     * default-value="${windowtitle}"
+     * @parameter expression="${doctitle}" default-value="${project.name} ${project.version} API"
      */
     private String doctitle;
 
@@ -399,8 +385,7 @@
      * Creates an HTML version of each source file (with line numbers) and adds links to them from the standard HTML documentation.
      * See <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#linksource">linksource</a>.
      * 
-     * @parameter expression="${linksource}"
-     * default-value="false"
+     * @parameter expression="${linksource}" default-value="false"
      */
     private boolean linksource = false;
 
@@ -408,8 +393,7 @@
      * Suppress the entire comment body, including the main description and all tags, generating only declarations.
      * Ssee <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#nocomment">nocomment</a>.
      * 
-     * @parameter expression="${nocomment}"
-     * default-value="false"
+     * @parameter expression="${nocomment}" default-value="false"
      */
     private boolean nocomment = false;
 
@@ -417,8 +401,7 @@
      * Prevents the generation of any deprecated API at all in the documentation.
      * See <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#nodeprecated">nodeprecated</a>.
      * 
-     * @parameter expression="${nodeprecated}"
-     * default-value="false"
+     * @parameter expression="${nodeprecated}" default-value="false"
      */
     private boolean nodeprecated = false;
 
@@ -426,8 +409,7 @@
      * Prevents the generation of the file containing the list of deprecated APIs (deprecated-list.html) and the link in the navigation bar to that page.
      * See <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#nodeprecatedlist">nodeprecatedlist</a>.
      * 
-     * @parameter expression="${nodeprecatedlist}"
-     * default-value="false"
+     * @parameter expression="${nodeprecatedlist}" default-value="false"
      */
     private boolean nodeprecatedlist = false;
 
@@ -435,8 +417,7 @@
      * Omits the HELP link in the navigation bars at the top and bottom of each page of output.
      * See <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#nohelp">nohelp</a>.
      * 
-     * @parameter expression="${nohelp}"
-     * default-value="false"
+     * @parameter expression="${nohelp}" default-value="false"
      */
     private boolean nohelp = false;
 
@@ -444,8 +425,7 @@
      * Omits the index from the generated docs.
      * See <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#noindex">noindex</a>.
      * 
-     * @parameter expression="${noindex}"
-     * default-value="false"
+     * @parameter expression="${noindex}" default-value="false"
      */
     private boolean noindex = false;
 
@@ -453,8 +433,7 @@
      * Omits the index from the generated docs. The default value is 'false'.
      * See <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#nonavbar">nonavbar</a>.
      * 
-     * @parameter expression="${nonavbar}"
-     * default-value="false"
+     * @parameter expression="${nonavbar}" default-value="false"
      */
     private boolean nonavbar = false;
 
@@ -470,8 +449,7 @@
      * Omits from the generated docs the "Since" sections associated with the since tags.
      * See <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#nosince">nosince</a>.
      * 
-     * @parameter expression="${nosince}"
-     * default-value="false"
+     * @parameter expression="${nosince}" default-value="false"
      */
     private boolean nosince = false;
 
@@ -479,8 +457,7 @@
      * Omits the class/interface hierarchy pages from the generated docs. 
      * See <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#notree">notree</a>.
      * 
-     * @parameter expression="${notree}"
-     * default-value="false"
+     * @parameter expression="${notree}" default-value="false"
      */
     private boolean notree = false;
 
@@ -488,8 +465,7 @@
      * Generates compile-time warnings for missing serial tags.
      * See <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#serialwarn">serialwarn</a>
      * 
-     * @parameter expression="${serialwarn}"
-     * default-value="false"
+     * @parameter expression="${serialwarn}" default-value="false"
      */
     private boolean serialwarn = false;
 
@@ -498,8 +474,7 @@
      * start with non-alphabetical characters. 
      * See <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#splitindex">splitindex</a>.
      * 
-     * @parameter expression="${splitindex}"
-     * default-value="false"
+     * @parameter expression="${splitindex}" default-value="false"
      */
     private boolean splitindex = false;
 
@@ -540,8 +515,7 @@
      * Includes one "Use" page for each documented class and package.
      * See <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#use">use</a>.
      * 
-     * @parameter expression="${use}"
-     * default-value="true"
+     * @parameter expression="${use}" default-value="true"
      */
     private boolean use = true;
 
@@ -549,8 +523,7 @@
      * Includes the version text in the generated docs.
      * See <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#version">version</a>.
      * 
-     * @parameter expression="${version}"
-     * default-value="true"
+     * @parameter expression="${version}" default-value="true"
      */
     private boolean version = true;
 
@@ -559,8 +532,7 @@
      * The default is '${project.name} ${project.version} API'.
      * See <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#windowtitle">windowtitle</a>.
      * 
-     * @parameter expression="${windowtitle}"
-     * default-value="${project.name} ${project.version} API"
+     * @parameter expression="${windowtitle}" default-value="${project.name} ${project.version} API"
      */
     private String windowtitle;
 



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