ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alan Santos" <>
Subject monolothic build requirements
Date Wed, 09 Feb 2000 00:08:53 GMT

Hi I was hoping someone would be able to point out a mistake or
misunderstanding on my part.

I am attempting to use ant to build a relatively large system.  However I
would like to be able to build pieces of it, without building unrelated

My directory structure is this:


I would like to be able to build aPackage without building anotherPackage,
assuming there are no dependencies between the two.

So I've specified three targets in my build file.

<target name="aPackage"
   <javac srcdir="com/theCompany/aPackage" ...

 <target name="anotherPackage"
   <javac srcdir="com/theCompany/anotherPackage

 <target name="all" depends="aPackage, anotherPackage"...

Doing this results in a complete rebuild every time through, because the
correct class files are not found to compare timestamps with.

providing a target like
 <target name="monolithic"
  <javac srcdir="." ...

works correctly.

Looking through the code the root of the matter appears to be that there is
a dependency/assumption that the srcDir is above the class' package dir
Taskdef/Javac and DirectoryScanner and that the source file name (I think)
contains the package.

If I remember correctly, my class files are in

while compares the source file against build/xxx.class
(Specifically in the call to Javac.scanDir with the results from

I don't actually see *how* after looking at the code that modularized builds
are possible with ant, unless another tag is created specifying base source
dir which javac can pre-pend to the file name, or something along those

Any thoughts?

I certainly don't mind implementing the functionality, however there may be
a better way or reason for not doing this in the first  place.


View raw message