At 09:44 AM 3/19/2001 -0500, Stephane wrote:
>Hello all,
>
>i don't find this way very clean (but perhaps my poor english understanding 
>helped :) ).
>
>I think we shall better consider the use of ant (jakarta.apache.org) , this 
>software greatly enhances project management and automates many tasks for 
>programmers such as compilation.
>
>I used to have a big projet (~15000 classes) that was compiled through a 
>hierarchy of makefiles. When we used the ant, i took us 10 minutes to write a 
>project file that compiled all thoses classes in a shot !

My problem with make is that it is not equipped to do dependency checking
for Java. I had hoped that ant would provide an alternative to make but my
understanding from others who have looked at ant is that it does NOT solve
the problem of dependency checking either. 

In any event, my proposal can be combined with make or ant. All I am
suggesting is that instead of trying to compile every class in your
project, ant or make could compile only one: a compile master that
references every class in your project. The Java compiler would then make
sure that all files that needed to be compiled would be compiled. I think
this approach, which I did not originate, is brilliant.

I have been struggling with how to use make (or ant) to build projects for
the last four years and have never been satisfied with the results as far
as dependency checking is concerned. I have also had extended discussions
with others who have used ant or make and whenever I ask how they handle
dependency checking I get a lot of hand-waving or some arcane scheme that
involves running jikes to generate dependency files and perl scripts, etc.
The scheme that I am proposing for the JDE is the first one that I have
discovered  that provides simplicity, efficiency (only files that need to
be recompiled are recompiled), and speed (one vm startup per build).

If you can suggest a simpler, faster, more effient method, I am all ears.
If your solution is ant, then you must convince me that it is possible to
get true dependency checking easily, that is, there is some simple method
for creating an ant makefile that guarantees that all files that need to be
recompiled are recompiled and only the files that need to be recompiled are
recompiled.

Again, I am not suggesting that compile-masters replace make or ant, only
one function of ant and make, namely dependency checking of compile targets.

- Paul


Reply via email to