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
