[kepler-dev] Kepler Compile Problem (getNewFiles in org.kepler.io.DirectoryListing)

Norbert Podhorszki pnorbert at cs.ucdavis.edu
Fri Oct 6 13:49:58 PDT 2006


A.java
   package P
     class A
       method a()

B.java
   package Q
     import P.A
     class B
       myA = new A()
       myA.a()


And then a()'s signature has changed to a(boolean b).
Ant recompiles A.java but does nothing with B.java
Should it?

You are right, ant compiles all classes that have changed: here A.
But B did not change and this is the problem.

An effective dependency tool should realize that B is depending on A. In 
the era of C, in the above case, the header file of 'A' would change, so 
the need to compile B would be recognized. While if the implementation of 
A changes in its .c code, that would have no effect on B.

Note:
The file dependencies in ant are handled by the <depend ...> task.
    http://ant.apache.org/manual/OptionalTasks/depend.html
I do not find this depend task in kepler's build.xml.
Then what handles dependencies?

Norbert


On Fri, 6 Oct 2006, Matt Jones wrote:

> Hi,
>
> That's what ant does now -- checks dependencies and compiles the needed 
> classes that have changed.  The only thing it doesn't check are dependencies 
> created via reflection or other run-time dependencies.  I'm curious what kind 
> of change you made that worked and tested using an incrmental build for you 
> locally but then didn't work for other people.  What was the dependency that 
> was missed?
>
> Matt
>
> Norbert Podhorszki wrote:
>> Sorry for this, again.
>> I forgot to make a clean and full compile before committing my changes (but 
>> tested with workflows to ensure they are fine).
>> 
>> Is there any dependency tracking with ant (like with automake tools for old 
>> languages), so that 'ant compile' would check for dependencies and compile 
>> everything that is affected by the change?
>> 
>> Norbert
>>


      Norbert Podhorszki
    ------------------------------------
      University of California, Davis
      Department of Computer Science
      1 Shields Ave, 2236 Kemper Hall
      Davis, CA 95616
      (530) 754-8188
      pnorbert at cs.ucdavis.edu
      ----------------------------------


More information about the Kepler-dev mailing list