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

performance problem in AbstractJavadocMojo.getModulesLinks()

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 2.6
    • Fix Version/s: 2.6.1
    • Component/s: None
    • Labels:
      None
    • Environment:
    • Flags:
      Patch

      Description

      The getModulesLinks() method is unacceptably slow under certain conditions:
      1. project's url is defined
      2. one or more projects in reactor do not have any java sources and are not of "pom" packaging.
      For such projects the apidocs/ output folder is never created resulting in repeated invokation of a forked javadoc goal. It's more severe with high number of modules in reactor and high number of modules without any java sources.

      as an example checkout "hg clone https://hg.kenai.com/hg/forceten~src"

      The immediate problem is in the apidocsFile.exists() condition that re-triggers the forked invokation. The attached patch fixes that. However it looks suspicitions that the method is being called repeatedly for each module at all. Maybe the aborting condition at the start of the method body is wrong (I was not able to decypher that)

      workaround is to use 2.5 or not to specify the url in pom.xml or set the detectOfflineLinks parameter to "false".

        Attachments

        1. javadoc.patch
          1 kB
          Milos Kleint

          Issue Links

            Activity

              People

              • Assignee:
                siveton Siveton Vincent
                Reporter:
                mkleint Milos Kleint
              • Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: