Return-Path: Delivered-To: apmail-ant-user-archive@www.apache.org Received: (qmail 83961 invoked from network); 23 Mar 2009 20:11:42 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 23 Mar 2009 20:11:42 -0000 Received: (qmail 82532 invoked by uid 500); 23 Mar 2009 20:11:41 -0000 Delivered-To: apmail-ant-user-archive@ant.apache.org Received: (qmail 82457 invoked by uid 500); 23 Mar 2009 20:11:41 -0000 Mailing-List: contact user-help@ant.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Help: List-Post: List-Id: "Ant Users List" Reply-To: "Ant Users List" Delivered-To: mailing list user@ant.apache.org Received: (qmail 82447 invoked by uid 99); 23 Mar 2009 20:11:41 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 23 Mar 2009 20:11:41 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of qazwart@gmail.com designates 74.125.92.148 as permitted sender) Received: from [74.125.92.148] (HELO qw-out-1920.google.com) (74.125.92.148) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 23 Mar 2009 20:11:33 +0000 Received: by qw-out-1920.google.com with SMTP id 5so1098069qwc.10 for ; Mon, 23 Mar 2009 13:11:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=NCal6V7czJo3v8NbSRitgLSBCTtgpe6zWjh4iDMihac=; b=nYuf5WM/Ew2WZamKVPp2MQZMVJZ9fB7th6TpEVKUMhdXE5zkFO6RyzuOJeCpyhzVg3 YoTHXme/N+TwyuVFwAg0cay2b2dDUcixI57cVTUSSklGTTfAUyypKT+ClLqwCGEcsQg3 JNvSYcBTKdLQWqOTgJnK93sLJg/3cRABnXvMU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=hzMsn9hKJ61Av/H6DKKC9/19SPyeWW/T25D70cCrLG6xGKTzkbyUyqnSjL8cPyQLc5 J3ARBbYWnh05wyKuOhDHBAXPEV4AS0GeN4bFWDMM9+GVNmhcpfaQsISFahv1ITEIWKhC 4aZqxeBETyS0WkU1YTRpyO8meqsdi/4EzL64Y= MIME-Version: 1.0 Received: by 10.224.11.137 with SMTP id t9mr9523287qat.178.1237839072134; Mon, 23 Mar 2009 13:11:12 -0700 (PDT) In-Reply-To: References: Date: Mon, 23 Mar 2009 16:11:12 -0400 Message-ID: Subject: Re: incremental compilation From: David Weintraub To: Ant Users List Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org When I was a C developer, we had similar dependency issues with C and Make. Changing a static constant in one source file didn't cause all objects to recompile .And, if we didn't put it in our Makefiles, changing a *.h file didn't necessarily recompile the source code that depended upon it. We just had to know these things. It's why they paid us the big money. Well, not the big money, but we did get stock options. Java's dependency tree rebuilding (which is really part of Java and not Ant) is no worse than what we previously had in other programming languages. It works about 99% of the time, and you simply had to know when it might not work and redo a clean build. To get TRUE dependency checking, you'll have to get something like ClearCase and use dynamic views. ClearCase tracks all dependencies for all built objects. Of course it is slow and expensive which is why not too many other version control systems do it. On Sat, Mar 21, 2009 at 9:52 AM, Sven K=F6hler wro= te: > Hi, > > according to the docs it seems, that ant is (still) not suitable for > incremental compilation. Is that true? > > Quote from the docs of the depend task: > > ******************************************************************** > The most obvious example of these limitations is that the task can't tell > which classes to recompile when a constant primitive data type exported b= y > other classes is changed. For example, a change in the definition of > something like > > public final class Constants { > =A0public final static boolean DEBUG=3Dfalse; > } > > will not be picked up by other classes. > ******************************************************************** > > > Yes, the good constant-inlining. So there is really nothing implemented t= o > detect that? That is: if I don't do an "ant clean" once in a while, then = i > will have inconsistent class files? > > I'm rather amazed. But the trouble seems to be, that modern javac doesn't > generate any dependency information in addition to or inside the class > files. Is that right? > > > Regards, > =A0Sven > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscribe@ant.apache.org > For additional commands, e-mail: user-help@ant.apache.org > > --=20 -- David Weintraub qazwart@gmail.com --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscribe@ant.apache.org For additional commands, e-mail: user-help@ant.apache.org