At 08:58 AM 3/19/01 -0800, Kevin A. Burton wrote:
[snip]
>
>Dependency checking in javac and jikes is done with the whole fileset.  Just
>recompile everytime and the software should optimize.
>

I have tested providing the "whole fileset" to the JDK 1.3 version of javac
and it
recompiles the whole fileset regardless of whether the classes are
up-to-date, e.g., the command


javac -classpath "h:/mswin/jmath/classes;h:/mswin/jmath/src" -g -d
h:/mswin/jmath/classes @compilelist

recompiles everything in compilelist everytime it is invoked. Please
explain to me how
to get the behavior you describe, e.g., "the software should optimize." Or
perhaps I misunderstand what you mean by "should optimize."


>> 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.
>
>yuk... -1.

Brilliant and informative comment.

>
>Why should I litter my directory with "compile masters".  
>Just give javac/jikes
>all the files in your project and let them compile away.

We seem to have a different understanding of what happens when you "give
javac/jikes all the files in your project and let them compile away." You seem
to think that javac/jikes recompiles only the files that need to be recompiled.
My understanding is that it recompiles everthing--at least that is the
behavior I observe with javac.

In fact, I believe that the behavior of javac/jikes is the same whether you
pass it one file or an entire file set on the command line. If you pass it
one file, it recompiles that file. If you pass it 20 files, it recompiles
those 20 files, regardless of whether they actually need to be recompiled.
Why you think it ignores some of them is mystifying to me.

Perhaps I am using javac incorrectly. If so, please enlighten me and I will
gladly drop this idea of the compile master as unnecessary.

- Paul

Reply via email to