No you are correct... in SCons we say the target depends on some sources, and 
we have scanner that add "depends" of the sources to our target. Sorry for not 
being more exact.

So to be clear we have something like this:

a.class 
  |- a.java

We "scan" a.java with this "tool" to see it needs b.java, we scan B and see it 
needs A and C. however for this we want to ignore A. and add C.. scan C and add 
what it does , etc...( note that these files have to be added as Sources, not 
implicit or explict depends) Then we need to take all the .java files we added 
as sources to a.class, and add that building a.class has a sideffect() ? of 
building B.class and C.class

This part I believe is possible for SCons to get correct ( given we can have 
our scanner as nodes as sources instead of implicit depend). What I am not sure 
about is the random .class name file that can happen. As deleting this file 
after it was build should cause it to be built again, however we have no idea 
what it is called, until after it is built.

Jason

-----Original Message-----
From: [email protected] [mailto:[email protected]] On 
Behalf Of Gary Oberbrunner
Sent: Thursday, September 06, 2012 1:55 PM
To: SCons developer list
Subject: Re: [Scons-dev] File-based build tools will never handle Java

On Thu, Sep 6, 2012 at 1:42 PM, Kenny, Jason L <[email protected]> wrote:
> To get what a file Java depends on ...

I get what you mean, but it's important to say it correctly.  A java file is a 
source.  It doesn't depend on anything.  Only build targets have dependencies.  
A class file and a jar file are targets; they have dependencies.  You never 
have to rebuild a java file (well, unless it's auto-generated which is another 
story), but you do rebuild jars and classes when their dependencies (.java 
files) change.

You may need to scan java files to find other java files, the way we scan C 
files to find headers.  What happens then is the object file (or class or jar) 
gets a dependency on the files found as the result of the scan.  The C file 
does not depend on the header.  The C file's object file depends on the header.

Sorry if I'm being pedantic but I think it's important.

--
Gary
_______________________________________________
Scons-dev mailing list
[email protected]
http://two.pairlist.net/mailman/listinfo/scons-dev
_______________________________________________
Scons-dev mailing list
[email protected]
http://two.pairlist.net/mailman/listinfo/scons-dev

Reply via email to