Issue Details (XML | Word | Printable)

Key: MJAVADOC-268
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Critical Critical
Assignee: Vincent Siveton
Reporter: Milos Kleint
Votes: 0
Watchers: 2
Operations

If you were logged in you would be able to see more operations.
Maven 2.x Javadoc Plugin

performance problem in AbstractJavadocMojo.getModulesLinks()

Created: 13/Oct/09 05:45 AM   Updated: Today 09:18 AM   Resolved: 21/Oct/09 05:14 AM
Return to search
Component/s: None
Affects Version/s: 2.6
Fix Version/s: 2.6.1

Time Tracking:
Not Specified

File Attachments: 1. Text File javadoc.patch (1 kB)

Environment:
Apache Maven 2.2.0 (r788681; 2009-06-26 15:04:01+0200)
Java version: 1.6.0_13
Java home: /home/mkleint/javatools/jdk1.6.0_13/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux" version: "2.6.29.6-desktop-2mnb" arch: "i386" Family: "unix"

Patch Submitted: Yes


 Description  « Hide

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".



Milos Kleint added a comment - 13/Oct/09 05:46 AM

Fabrizio Giudici added a comment - 13/Oct/09 05:59 AM

I'm the author of forceten - please use "hg up -C 65db9b4e5077" to get a version with the 2.6, as I'm temporarily reverting the project to use 2.5.


Vincent Siveton added a comment - 21/Oct/09 05:14 AM

Patch applied in r827951, snapshot deployed.


Francis De Brabandere added a comment - 04/Dec/09 08:16 AM

I seem to still have this problem with 2.6.1


David MARTIN added a comment - 09/Feb/10 09:18 AM

Are you sure it's really fixed ?

Version 2.6 lets appear some messages like 'goal [...] has not be previously called for the project ...', but version 2.6.1 doesn't work at all with multi-module release (through maven release plugin).