russel at winder.org.uk
Tue Sep 4 01:17:13 EDT 2012
On Mon, 2012-09-03 at 21:47 +0000, Kenny, Jason L wrote:
> So what can handle it?
Gradle, possible Maven but…
Many will say Ant, but I think they need to rethink their position!
> I read what you said... and it makes me think that nothing could
> handle this. One is always stuck always building all sources and
> hoping the compiler can deal with optimizing what is done, as there is
> not a way without compiling the sources in some way to get what it
> will output.
Only if you have a single phase of DAG building. Having multiphase
approach seems to work really well. I have yet to find a case where
Gradle performs unnecessary compilation of Java, Scala, or Groovy files.
Although Gradle is trying to develop a C++ build capability, it is not
yet in a fit state and I am not sure it will ever get close to SCons
(and Waf) without addition of C++ addicts to the development team. And
Gradle just cannot handle LaTeX, D, Fortran, etc.
> This suggests to me that a Java scanner would need to compile the
> source in some way and parse the out of something to return what
> depends on what. Or better set it seems that to do Java you need the
> emitter to do this, and cache the value based on the MD5 of the source
> file. So if the java file MD5 changed the emitter would have to
> re-"compile" the source files to see what it would output.
It is definitely the case that you have to compile Java and Scala code
to ascertain the compilation products. I suspect your strategy might
work but you end up having to replicate the basic SCons core in the
emitter so as to effectively, create a multiphase approach: first DAG
build, first compilation try, DAG patch, redundant recompilation.
Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder at ekiga.net
41 Buckmaster Road m: +44 7770 465 077 xmpp: russel at winder.org.uk
London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 198 bytes
Desc: This is a digitally signed message part
Url : <http://four.pairlist.net/pipermail/scons-users/attachments/20120904/66345d72/attachment.pgp>
More information about the Scons-users