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]>
