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;
             }


Reply via email to