At 02:53 12/1/01 +1100, Conor MacNeill wrote:
>> If you have small codebases (ie under 100 .java files) it is
>> easier to just
>> delete all .class and do full recompile with jikes as both <depend /> and
>> jikes miss a few dependencies. This is usually faster anyways ;)
>
>Again, do you have details, or examples, on dependencies that <depend>
>misses. I know that currently, non public classes can caue problems.
Sorry we tested a few of them and can't remember which ones had which
faults. These are the ones I seem to remember (but may not be the case).
* poor handling of multiple top-level classes in one java file.
* poor handling of inner classes/interfaces. Especially inner inner
classes/enums.
* doesn't detect upstream breakages (ie if interface Foo changes then
DefaultFoo may not be recompiled).
* static final primitives accessed from other files would not force a
recompile when the "other" was changed
* extra dependencies detected - ie if a private method changes it shouldn't
force a recompile of client classes that just use public interface.
* Likewise changes to protected methods should only force recompiles of
sub-classes rather than client classes.
I am sure there was a few others and I may be mistaken but I will ask
around on tuesday - remind me if I forget ;)
Cheers,
Pete
*-----------------------------------------------------*
| "Faced with the choice between changing one's mind, |
| and proving that there is no need to do so - almost |
| everyone gets busy on the proof." |
| - John Kenneth Galbraith |
*-----------------------------------------------------*