Return-Path: Mailing-List: contact ant-user-help@jakarta.apache.org; run by ezmlm Delivered-To: mailing list ant-user@jakarta.apache.org Received: (qmail 73034 invoked from network); 29 Sep 2000 14:29:37 -0000 Received: from mta05.mail.au.uu.net (HELO mta05.mail.mel.aone.net.au) (203.2.192.85) by locus.apache.org with SMTP; 29 Sep 2000 14:29:37 -0000 Received: from cognetnt ([63.34.197.39]) by mta05.mail.mel.aone.net.au with SMTP id <20000929142933.HNFC413.mta05.mail.mel.aone.net.au@cognetnt> for ; Sat, 30 Sep 2000 00:29:33 +1000 From: "Conor MacNeill" To: Subject: RE: What about dependecies? Date: Sat, 30 Sep 2000 01:27:59 +1100 Message-ID: <000701c02a21$779d0380$80dc1fcb@cognet.com.au> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook 8.5, Build 4.71.2173.0 In-Reply-To: X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6600 Importance: Normal X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N > -----Original Message----- > From: Adam Murdoch [mailto:adammurdoch@yahoo.com] > So what options are there for dealing with this? If your project > is fairly > small, use jikes as your compiler and set up your javac task so that the > source directory structure does not match the package heirarchy. For > example. rather than > > > > use > > > > This way ant will attempt to compile everything every time, and jikes is > fast. Really fast. No, Please do not do this. It may work but it is really taking the wrong approach. > > Alternatively, setup your javac task correctly and use a 'clean' target to > force a rebuild when changing core interfaces and base classes. That is a better approach that achieves the same result. It works for projects of all sizes. > > Unfortunately, there's no real good way for ant to solve this problem > without parsing all the Java source files, and then traversing the > dependency graph to figure out the set of files to hand off to > the compiler. > You'd be hard pressed to build this in Java and have it end up > being faster > than just recompiling everything from scratch with jikes or jvc. Well, it is better to analyse the class files produced from the previous build as they are easier to analyse than parsing the source and they are usually "boiled down" so that the dependencies are at a minimum. I have done this, in Java, and it was not slow. I may test it against a full Jikes rebuild.