> -----Original Message----- > From: Brown, Carlton [mailto:[EMAIL PROTECTED]
> 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 <javac> 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:[EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]