Details
-
Type:
Improvement
-
Status:
Closed
-
Priority:
Blocker
-
Resolution: Fixed
-
Affects Version/s: 2.6.1
-
Fix Version/s: 2.8
-
Labels:None
-
Environment:HideApache Maven 2.2.1 (r801777; 2009-08-06 21:16:01+0200)
Java version: 1.5.0_16-p9
Java home: /usr/local/jdk-1.5.0/jre
Default locale: de_DE, platform encoding: ISO8859-15
OS name: "openbsd" version: "4.6" arch: "i386" Family: "unix"
ShowApache Maven 2.2.1 (r801777; 2009-08-06 21:16:01+0200) Java version: 1.5.0_16-p9 Java home: /usr/local/jdk-1.5.0/jre Default locale: de_DE, platform encoding: ISO8859-15 OS name: "openbsd" version: "4.6" arch: "i386" Family: "unix"
-
Patch Submitted:Yes
-
Number of attachments :
Description
When setting 'detectLinks' to 'true', the plugin checks that access to the constructed package-list files is possible by checking the HTTP status code to match 200. This check should be more strict and additionally check that the accessed package-list file is of correct type. For example, if setting detect links to 'true' and having a dependency on 'javax.annotation:jsr250-api' the plugin will add a link like 'http://jcp.org/aboutJava/communityprocess/final/jsr250/index.html/apidocs' so that javadoc will then try to access the package-list file located at 'http://jcp.org/aboutJava/communityprocess/final/jsr250/index.html/apidocs/package-list'. That link returns a HTTP status code 200 but no valid package-list file. Using the following javadoc plugin configuration
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.7</version>
<configuration>
<breakiterator>true</breakiterator>
<keywords>true</keywords>
<linksource>true</linksource>
<serialwarn>true</serialwarn>
<source>1.5</source>
<doctitle>${project.name} ${project.version}</doctitle>
<windowtitle>${project.name} ${project.version}</windowtitle>
<detectJavaApiLink>true</detectJavaApiLink>
<detectOfflineLinks>false</detectOfflineLinks>
<detectLinks>true</detectLinks>
<doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
<docletArtifact>
<groupId>org.umlgraph</groupId>
<artifactId>doclet</artifactId>
<version>5.1</version>
</docletArtifact>
<tagletArtifacts>
<tagletArtifact>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-tools-javadoc</artifactId>
<version>2.5</version>
</tagletArtifact>
<tagletArtifact>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-javadoc</artifactId>
<version>1.0</version>
</tagletArtifact>
</tagletArtifacts>
<additionalparam>
-inferrel -inferdep -hide java.* -collpackages java.util.* -qualify -postfixpackage -nodefontsize 9
-nodefontpackagesize 7
</additionalparam>
<archive>
<index>true</index>
<addMavenDescriptor>false</addMavenDescriptor>
<compress>true</compress>
</archive>
</configuration>
</plugin>
the configured umlgraph doclet will fail when trying to parse the retrieved HTML document as a package-list file.
Issue Links
- relates to
-
MJAVADOC-354
isValidJavadocLink is too strict: doesn't support unnamed package
-
Patch adding a check of the HTTP Content-Type response header when validating javadoc links.