Barry Lind <blind@xythos.com> writes:
> Nic,
>
> Your change shouldn't be necessary. Since even though the directory is
> excluded, the particular files in it that are referenced from the
> included directories will automatically be compiled because they are
> referenced from the other classes that are being compiled. That is the
> way javac works when compiling classes, it automatically compiles any
> dependent objects as well.
Ok, it's been a while since I studided javac.
But last time I looked javac couldn't find a source file if it had not been
passed to the compiler (on the command line, or as part of an @ file
or via the API).
The ANT task excludes the jdbc1 files from being passed to the
compiler.
I've just confirmed that this is broken. Here's what I did (with the
old ant script):
- added the line:
System.out.println("one");
to file org/postgresql/jdbc1/AbstractJdbc1ResultSet.java
- make (to build jdbc2)
the 1 file gets compiled.
- change the line to:
System.out.println("two");
- make (to build jdbc2)
No files get compiled.
Of course, the chanbge to "two" should be compiled but isn't because
ant has excluded the source file from the compiler.
So, I think it is necessary.
Nic