The Author Online Book Forums are Moving

The Author Online Book Forums will soon redirect to Manning's liveBook and liveVideo. All book forum content will migrate to liveBook's discussion forum and all video forum content will migrate to liveVideo. Log in to liveBook or liveVideo with your Manning credentials to join the discussion!

Thank you for your engagement in the AoF over the years! We look forward to offering you a more enhanced forum experience.

Referring to chapter 18.5 - "building a production deployment process" - it mentions that there is a systems folder, and a remote folder.
I see that there is an '<machine-name>.properties' in systems, and an install-<machine-name>.properties in remote.
When would the <machine-name>.properties get loaded, and what would would it contain?

This question is related to Chapter 9, and managing master builds and child project builds.

I've been struggling with the issue of being able to manage inter-subproject dependencies, using Ant 1.6 while at the same time trying to use the techniques presented in this chapter.

I have a master build and 3 subprojects (say - common, A and B)
A depends on common.
B depends on common and A.
Each subproject will also have its own build file.

I also have a common-targets.xml which defines targets like compile, test and clean. Every subproject imports this file. The compile task uses a compile.classpath, which is set in the importing files.

I define all properties similar to Section 8.3 using a properties.xml file. Every subproject imports this file too.

The master build file sets a classpath, say a.classpath to point to the build classes of common.
<import file="properties.xml"/>

<path id="a.classpath">
<pathelement location="common/${build.classes}"/>

<target name="do-A">
<ant dir="A" target="${target}" inheritAll="false" inheritRefs="true"/>

Project A's build file will declare its compile.classpath as follows - i.e, it adds its library dependencies
<path id="compile.classpath">
<path refid="a.classpath"/>
<pathelement location="${myJars.jar}"/>

This will work when I run the targets from the masterbuild. But, when I run it from Project A's build file, it will not work, because it looks for a path named a.classpath, which is not available when this build runs in a stand-alone mode.

Any ideas on how I can make the child project builds be able to run even in a stand-alone mode? Or am I doing something wrong in setting up the build system this way?

Now that Ant 1.6 has been released, are there any plans to publish another edition of this excellent book? The new features would probably change the way we write build files.
First of all, thanks for the wonderful book you've written. It has helped me in restructuring our current build system.

We use several third party(open source project) libraries, and I liked the way you suggest the lib dir structure in chapter 8. However, I'm struggling with one issue. We use castor and xml-security - both open source projects, both of which need xalan and xerces.

Do you suggest I just keep the xalan and xerces in separate folders under lib, or do I keep them in the respective opensource project's library directory?