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