You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2011/01/13 00:53:12 UTC

svn commit: r1058359 - in /maven/plugins/trunk/maven-javadoc-plugin: ./ src/it/MJAVADOC-97/ src/it/MJAVADOC-97/module2/ src/main/java/org/apache/maven/plugin/javadoc/

Author: hboutemy
Date: Wed Jan 12 23:53:11 2011
New Revision: 1058359

URL: http://svn.apache.org/viewvc?rev=1058359&view=rev
Log:
[MJAVADOC-284] avoid extra javadoc invocation when detectOfflineLinks=true: link only to dependencies

Added:
    maven/plugins/trunk/maven-javadoc-plugin/javadoc-options-javadoc-resources.xml   (with props)
Modified:
    maven/plugins/trunk/maven-javadoc-plugin/pom.xml
    maven/plugins/trunk/maven-javadoc-plugin/src/it/MJAVADOC-97/goals.txt
    maven/plugins/trunk/maven-javadoc-plugin/src/it/MJAVADOC-97/module2/pom.xml
    maven/plugins/trunk/maven-javadoc-plugin/src/it/MJAVADOC-97/verify.bsh
    maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java

Added: maven/plugins/trunk/maven-javadoc-plugin/javadoc-options-javadoc-resources.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/javadoc-options-javadoc-resources.xml?rev=1058359&view=auto
==============================================================================
--- maven/plugins/trunk/maven-javadoc-plugin/javadoc-options-javadoc-resources.xml (added)
+++ maven/plugins/trunk/maven-javadoc-plugin/javadoc-options-javadoc-resources.xml Wed Jan 12 23:53:11 2011
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<javadocOptions>
+  <links>
+    <link>../apidocs</link>
+  </links>
+</javadocOptions>

Propchange: maven/plugins/trunk/maven-javadoc-plugin/javadoc-options-javadoc-resources.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/trunk/maven-javadoc-plugin/javadoc-options-javadoc-resources.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: maven/plugins/trunk/maven-javadoc-plugin/javadoc-options-javadoc-resources.xml
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: maven/plugins/trunk/maven-javadoc-plugin/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/pom.xml?rev=1058359&r1=1058358&r2=1058359&view=diff
==============================================================================
--- maven/plugins/trunk/maven-javadoc-plugin/pom.xml (original)
+++ maven/plugins/trunk/maven-javadoc-plugin/pom.xml Wed Jan 12 23:53:11 2011
@@ -382,7 +382,7 @@ under the License.
                 <pomInclude>**/MJAVADOC-206/pom.xml</pomInclude>
                 <pomInclude>**/MJAVADOC-226/pom.xml</pomInclude>
                 <pomInclude>**/MJAVADOC-97/pom.xml</pomInclude>
-                <pomInclude>**/MJAVADOC-181/pom.xml</pomInclude>
+                <!-- pomInclude>**/MJAVADOC-181/pom.xml</pomInclude--><!-- seems to be wrong, see comment in Jira issue  -->
                 <pomInclude>**/MJAVADOC-257/pom.xml</pomInclude>
                 <pomInclude>**/MJAVADOC-259/pom.xml</pomInclude>
                 <pomInclude>**/MJAVADOC-262/pom.xml</pomInclude>

Modified: maven/plugins/trunk/maven-javadoc-plugin/src/it/MJAVADOC-97/goals.txt
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/MJAVADOC-97/goals.txt?rev=1058359&r1=1058358&r2=1058359&view=diff
==============================================================================
--- maven/plugins/trunk/maven-javadoc-plugin/src/it/MJAVADOC-97/goals.txt (original)
+++ maven/plugins/trunk/maven-javadoc-plugin/src/it/MJAVADOC-97/goals.txt Wed Jan 12 23:53:11 2011
@@ -1 +1 @@
-clean javadoc:javadoc
\ No newline at end of file
+clean compile javadoc:javadoc
\ No newline at end of file

Modified: maven/plugins/trunk/maven-javadoc-plugin/src/it/MJAVADOC-97/module2/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/MJAVADOC-97/module2/pom.xml?rev=1058359&r1=1058358&r2=1058359&view=diff
==============================================================================
--- maven/plugins/trunk/maven-javadoc-plugin/src/it/MJAVADOC-97/module2/pom.xml (original)
+++ maven/plugins/trunk/maven-javadoc-plugin/src/it/MJAVADOC-97/module2/pom.xml Wed Jan 12 23:53:11 2011
@@ -31,4 +31,12 @@
   <packaging>jar</packaging>
   <version>1.0-SNAPSHOT</version>
   <url>http://myhost/module2</url>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.maven.plugins.maven-javadoc-plugin.it</groupId>
+      <artifactId>linkoffline-test-module1</artifactId>
+      <version>1.0-SNAPSHOT</version>
+    </dependency>
+  </dependencies>
 </project>

Modified: maven/plugins/trunk/maven-javadoc-plugin/src/it/MJAVADOC-97/verify.bsh
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/it/MJAVADOC-97/verify.bsh?rev=1058359&r1=1058358&r2=1058359&view=diff
==============================================================================
--- maven/plugins/trunk/maven-javadoc-plugin/src/it/MJAVADOC-97/verify.bsh (original)
+++ maven/plugins/trunk/maven-javadoc-plugin/src/it/MJAVADOC-97/verify.bsh Wed Jan 12 23:53:11 2011
@@ -58,15 +58,9 @@ try
     String log = FileUtils.fileRead( new File( basedir, "build.log" ) );
 
     // Generated files content checks
-    int linkoffline1 = contentOptions1.indexOf( "-linkoffline" );
-    if ( linkoffline1 < 0 )
-    {
-        System.err.println( "-linkoffline not added: " + options1 );
-        return false;
-    }
-    if ( !contentOptions1.substring( linkoffline1 ).contains( apidocs2.getAbsolutePath().replaceAll( "\\\\", "/" ) ) )
-    {
-        System.err.println( apidocs2.getAbsolutePath().replaceAll( "\\\\", "/" ) + " not added: " + options1 );
+    if ( contentOptions1.contains( "-linkoffline" ) )
+    { // module1 does not depend on module2, then it should not link
+        System.err.println( "module1 -linkoffline module2 added: " + options1 );
         return false;
     }
     int link1 = contentOptions1.indexOf( "-link" );
@@ -99,8 +93,8 @@ try
 
     int linkoffline2 = contentOptions2.indexOf( "-linkoffline" );
     if ( linkoffline2 < 0 )
-    {
-        System.err.println( "-linkoffline not added: " + options2 );
+    { // module2 depends on module1, then it should link
+        System.err.println( "module2 -linkoffline module1 not added: " + options2 );
         return false;
     }
     if ( !contentOptions2.substring( linkoffline2 ).contains( apidocs1.getAbsolutePath().replaceAll( "\\\\", "/" ) ) )

Modified: maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java?rev=1058359&r1=1058358&r2=1058359&view=diff
==============================================================================
--- maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java (original)
+++ maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java Wed Jan 12 23:53:11 2011
@@ -5232,11 +5232,18 @@ public abstract class AbstractJavadocMoj
 
         getLog().debug( "Trying to add links for modules..." );
 
+        Set<String> dependencyArtifactIds = new HashSet<String>();
+        for ( Iterator<Artifact> it = project.getDependencyArtifacts().iterator(); it.hasNext(); )
+        {
+            Artifact artifact = it.next();
+            dependencyArtifactIds.add( artifact.getId() );
+        }
+
         List<OfflineLink> modulesLinks = new ArrayList<OfflineLink>();
         String javadocDirRelative = PathUtils.toRelative( project.getBasedir(), getOutputDirectory() );
         for ( MavenProject p : reactorProjects )
         {
-            if ( p.getPackaging().equals( "pom" ) || p.getId().equals( project.getId() ) || ( p.getUrl() == null ) )
+            if ( !dependencyArtifactIds.contains( p.getArtifact().getId() ) || ( p.getUrl() == null ) )
             {
                 continue;
             }