On May 9, 1:31 am, "Mike Schilling" <mscottschill...@hotmail.com>
wrote:
Joshua Maurice wrote:
On May 7, 9:08 pm, "Mike Schilling" <mscottschill...@hotmail.com>
wrote:
Joshua Maurice wrote:
If anyone else cares, I managed to inadvertently stumble across a
solution. On impulse, I asked a co-worker at lunch. It seems that
class files do not contain sufficient information with default
javac options. However, when compiled with -g, it contains a
listing of all types used in the compile. When combined with Ghost
Dependencies, I think this can result in a correct incremental
build at the file level which will not cascade endlessly
downstream. I'm working on the finishing touches to my prototype
now.
You realize that you're now going to recompile a class when it
refers to another class to which a comment was added.
Yes. I'm pretty sure that it would be better than doing a full clean
build or a cascading jar-dir-unit incremental build.
No doubt, but the result isn't the minimal amount of recompilation
we were discussing earlier.
I'm not sure what this minimal recompile which we were discussing is.
It is technically impossible to do a true minimal recompile
algorithmically. Let's define it as "Let a build be a set of file
compilations. Let the minimum recompile be the minimum such set for
which the output class file are equivalent to the class files of a
full clean build." First, we'd have to prove such a minimum exists.
That's relatively straightforward. With that out of the way, I think I
could then prove that the problem is equivalent to the Halting
problem. If you define "equivalent" generously, I'm pretty sure this
is the case. If you define it as "same binary file content", then
perhaps not, though still possibly yes.
finite and well-defined.