Return-Path: Delivered-To: apmail-ant-user-archive@www.apache.org Received: (qmail 92555 invoked from network); 21 Nov 2005 05:30:34 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 21 Nov 2005 05:30:34 -0000 Received: (qmail 32225 invoked by uid 500); 21 Nov 2005 05:30:31 -0000 Delivered-To: apmail-ant-user-archive@ant.apache.org Received: (qmail 31433 invoked by uid 500); 21 Nov 2005 05:30:28 -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 6573 invoked by uid 99); 21 Nov 2005 04:49:51 -0000 Received-SPF: neutral (asf.osuosl.org: local policy) From: "Stephen McConnell" To: "'Ant Users List'" Subject: RE: Subdirectory problem/always recompiles Date: Mon, 21 Nov 2005 15:21:16 +1030 MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Office Outlook, Build 11.0.6353 In-Reply-To: <8CA1EE8AD467DA44AD0A4EE122E42B0BE1F8EB@01AL10015010133> X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 Thread-Index: AcXt65apNBXSM8+5Q8CB9Wn7B76uPgABwfJQABiPc1A= Message-Id: <20051121044927.LDMQ24868.omta05sl.mx.bigpond.com@julia> X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N > -----Original Message----- > From: Brown, Carlton [mailto:Carlton.Brown@BellSouth.com] > I expected that Matt's situation would have worked for me, > and I don't see why it didn't. Either I did it wrong, or > somehow these techniques are different in some subtle way. > Right now I'm happy with my solution and later I'll come back > and investigate what went wrong with the other way. > > > Now if you're up to the challenge, you should try to work with the > > developer to untangle the dependency knot you've discovered. Having > > separate source dirs implies independent components, or at > > least clean dependencies (i.e. a per dir can compile > > the source with no additional source dirs). > > That's one of our goals. In fact these subdirs were once all > lumped into the same directory, and this separation was the > first step toward refactoring. When you're talking about some > 3000 classes written by 50 developers over a period of 6 years, > obviously it gets a bit tricky. We do plan to get to get this > beast to an acyclic point in the next 18 months, though. > I've been though a similar exercise with 50 developer separated over 9 countries contributing code over a period of just under 4 years. The final result fell out into over 200 separate projects - each with specific build, runtime and test dependencies. Some of the lessons learn from the process: 1. a strict file structure per project is invaluable 2. centralize version and dependency information away from the logic related to build mechanics 3. try and centralize properties away from projects 4. put in place a modularization strategy that groups projects together - that preferably captures property inheritance and build strategy independently of the build mechanisms 5. make extreme efforts to eliminate information in a build file - preferable to the point where a build file is not even required (i.e. the build.xml only contains information that is 100% specific to the project) Cheers, Steve. mailto:mcconnell@osm.net --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscribe@ant.apache.org For additional commands, e-mail: user-help@ant.apache.org