Details
-
Type:
Improvement
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 1.8
-
Fix Version/s: 1.10
-
Labels:None
-
Environment:Maven 1.0.2
Description
Speed up the "maven site" command be eliminating tranforms of unchanged documents. (Patch attached.)
There are also some ant image and stylesheet copies that seem to me should have overwrite="false" to eliminate redundant copies. Is there a reason for overwrite="true"?
Brent Worden said on the maven dev list: "You might want to include some more source files for the uptodate check. The pom, the site.jsl or custom jsl, navigation.xml, properties files, and other files all contribute to the site contents."
I'm not sure exactly what the build dependencies are (I can't really read jelly/jsl code that well) but I think some of the dependencies are handled before we get to this step, since it the performJSL tag is called for srcdir="${maven.gen.docs}" and srcdir="${maven.docs.src}" and the "uptodate" check is called inside a j:forEach loop. So, I think some of the dependencies you mentioned may have already been handled.
I'm pretty sure that the site.jsl and navigation dependencies should be handled within this "uptodate" tag. I'm just not comfortable enough with the jelly, jsl, etc. to be comfortable trying to handle all the dependencies.
The patch that I have does accelerate my build significantly when things haven't changed, but there is a risk that someone could be burned by a dependency not being handled and a source change not being reflected in the generated site.
(Estimated work remaining assumes strong knowledge of jelly and jsl)
Patch applied with slight modification: I introduced a new property 'maven.xdoc.skip.uptodate' so the speed-up may be switched on optionally (default is off). Thanks!