Uploaded image for project: 'Maven Javadoc Plugin'
  1. Maven Javadoc Plugin
  2. MJAVADOC-283

isValidJavadocLink should be more strict

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Blocker
    • Resolution: Fixed
    • 2.6.1
    • 2.8
    • None
    • None
    • Patch

    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.

      Attachments

        1. MJAVADOC-283.patch
          11 kB
        2. MJAVADOC-283.patch
          2 kB

        Issue Links

          Activity

            People

              hboutemy Herve Boutemy
              schulte77 Christian Schulte
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: