httpd-docs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From André Malo ...@perlig.de>
Subject Re: build system out of memory
Date Thu, 09 Jan 2003 09:41:53 GMT
* Joshua Slive wrote:

> At the moment we have java OutOfMemory errors on at least some platforms
> when building the docs.  This is a pain, and adds to the already difficult
> process of getting the docs tree setup and built.  Any suggestions for
> simplifying the stylesheets to get rid of this problem?

- moving the modulefilelist back to allmodules.xml should save some memory
- separating the special pages from the "usual" stylesheets may also be 
helpful

(all of this was suggested by you already, I know ;-).

> Alternatively,
> should we add André's -Xmx128m -mx128m workaround to the build2.cmd (at
> least on win32)?

I think, that's a good idea, although I don't know, whether good in 
general.

However, I think I have an (additional) solution that solves a lot of other 
problems, too. While looking for some other hints (fop & pdf :) I found
<http://ant-contrib.sourceforge.net/ant-contrib/manual/tasks/index.html>

There is a useful <foreach> task provided. The task calls a particular 
target while iterating over a fileset (for example). I've changed the 
build.xml to do so and the <style> task will be executed dedicated for 
_every_ source file instead for a set of files.
This means:

- build.xml becomes much simpler
- no more caching problems, and generally less memory usage
- but: it's slower at all (build en takes about 4 minutes on my machine), 
  but that's acceptable, I think.

I had to compile the .jar file myself, because there's no binary download 
(*grmbl*, 35 MB Java SDK..).
I've attached the diff against the current build.xml, the entire new 
build.xml and the ant-contrib.jar file (application/octet-stream, hoping 
it's ok). put the jar file simple into the build/lib directory.

The ant-contrib stuff is licensed under Apache license, so it should be no 
problem to put it into the CVS repository.

To shorten the excessive screen output ant provides an additional (so 
called) logger which is chosen via command line interface. (see the 
build-scripts.diff). The logger suppresses empty target outputs, the rest 
is the same as usual.

nd
-- 
s  s^saaaaaoaaaoaaaaooooaaoaaaomaaaa  a  alataa  aaoat  a  a
a maoaa a laoata  a  oia a o  a m a  o  alaoooat aaool aaoaa
matooololaaatoto  aaa o a  o ms;s;\s;s;g;y;s;:;s;y#mailto: #
 \51/\134\137| http://www.perlig.de #;print;# > nd@perlig.de

Mime
View raw message