[Scons-users] Scala-Support

Tom Tanner (BLOOMBERG/ LONDON) ttanner2 at bloomberg.net
Tue Sep 4 07:34:48 EDT 2012

<huge snip>

> For "Java", read "tools that produce unpredictable outputs". There's

> nothing special about javac here, it's just a very well-known,

> prominent example of a tool with unpredictable outputs.

> What is really needed is the ability to construct a "rough draft" of

> the dependency graph, and then use compiler output to see what really

> happened and feed that back into the graph for the next run. I banged

> my head against doing that with SCons for a while, and eventually gave

> up. The SCons code is just too hard to follow for me. ;-(

What scons really needs is to do something a little like fabricate (http://code.google.com/p/fabricate/wiki/HowItWorks) - every time it executes a program, it does it with strace or some similar smoke and mirrors (my poison of choice would be to use an interpose library to trap open/unlink/rename which would produce a lot less logging).

This would not just cover unpredicatable outputs, it would clean up the unpredictable inputs as well. I find the scanning part of the system useful for ensuring that necessary files are generated automatically, but trying to find the input dependencies in some of our unit tests is nightmarish.

And I can guarantee that if the system doesn't do it automatically, it won't get done at all.

More information about the Scons-users mailing list