Actually it isn't always faster since you can run subproject compilations at the same 
time using the parallel task.  The main thing I would be worried about with having a 
single ant file is the inability to just build a single portion of the project tree.  
It seems a waste of processing to build the entire tree when all you need is the one 
subsection.  I do understand the notion of only building those files that have 
changed, but it is also nice to be able to pull one part of functionality and just 
build that subtree.

I would also go against having this massive dependency approach because it can also 
potentially mask other issues.  To me the tighter I have the controls, the more 
assured I am that the behavior I am getting from the build is correct.  That's one of 
the great things about ant is that I can define my classpath within the build.xml 
file.  This way I can have no values in my env CLASSPATH.  I now know that there 
should be no dependencies except those that I define.  If a new one springs up, I know 
immediately that it did and can start investigating why it has.

Scott Francis

-----Original Message-----
From: Alexey Solofnenko [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, August 27, 2002 1:19 PM
To: 'Ant Users List'
Subject: RE: Working around jikes bug in large projects


However a single command compilation is almost always faster. At least it is
the only way to be sure that all dependencies will be correct.

- Alexey.

--
{ http://trelony.cjb.net/   } Alexey N. Solofnenko
{ http://www.inventigo.com/ } Inventigo LLC
Pleasant Hill, CA (GMT-8 usually)


-----Original Message-----
From: Dominique Devienne [mailto:[EMAIL PROTECTED]] 
Sent: Tuesday, August 27, 2002 11:10 AM
To: 'Ant Users List'
Subject: RE: Working around jikes bug in large projects

Just increase the memory for <javac>, or better yet, compartiment your
software into independent modules that can be compiled in the right order
independently. Will makes you software better for it, and it's always a very
good idea to have clean separation (and clear dependencies) lines between
your different modules (I can't imagine a single module of 3000 files!).

We used to compile ~5500 files in one pass (needs gobs of memory!), now it's
two independent ones of ~2500 and ~3000 files, and we're breaking that down
further to 6/8 different projects. --DD

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] 
Sent: Tuesday, August 27, 2002 12:59 PM
To: [EMAIL PROTECTED]
Subject: Working around jikes bug in large projects

Has anyone run into jikes bug #222 (compiling large # of classes leads to
ClassFormatErrors) when using ant/jikes for large projects?  (For
information on the bug, see
http://www-124.ibm.com/developerworks/bugs/?func=detailbug&bug_id=222&group_
id=10)

I'm in the process of changing from makefiles to ant for our build, which
consists of over 3000 java files.  Our makefiles call jikes for each java
file, so we have never run into this before.  We also have a makefile in
each package.

With ant, I currently have a single build.xml at the top level of the
project tree, which basically ends up feeding all 3000 files to jikes at
once, exposing this ugly jikes bug.  I've tried switching to javac, but I
run out of memory trying to compile it.  In any case, I'd rather stick with
jikes if at all possible.

Has anybody else run into this?  How did you work around it?  I suppose I
could put a build.xml in each package, but that still wouldn't guarantee I
wouldn't run into this bug again.  Besides, isn't that counter to ant
philosophy?

Thanks,
Ed

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  Ed Howe * Software Architect * Employease, Inc.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to