A friend of mine pointed out your project because you are working on an
make like environment to build java code. We are also building java code and
have a very complex, very automated build environment that uses a varient of
The problem that we have encountered, that I would like to ask you about is
that when you build the java code, how do you determine the code dependencies,
or order of compilation?
I know that if I do javac *.java the java compiler will resolve all dependencies
or if I keep my java source in the same path as the java package name. The
problem with letting the java compiler determine dependencies and what should be
compiled is that javac only knows about timestamps. If you are using a
safisticated revision control system, as most professional development must,
then timestamps are not enough to determine whether or not to rebuild a
particular file. We are using Rational's Clearcase for revision control. It
comes with clearmake which has a GNUMake mode and is aware of clearcase:
Configuration Records (CRs) and Dervied Objects (DOs) so that it goes far
beyond using timestamps to determine what files need to be rebuilt.
Have you considered these issues for you project? Are you just using timestamps?
Anyway what we need is someway to generate java makefile dependencies similar
to how a lot of C compilers do with a -M option. Obviously javac does not have
a -M option, but developing such a script would involve parsing the java code,
and that is a substatial part of javac that has already been implemented. So
I just want to know are you guys planning to let javac determine what to
compiled for you, or have you faced this issue of dependencies and thought of
Ericsson Wireless Communications Inc.