[Scons-users] Problems with the Java builder

Robert Zeigler robert.zeigler at gmail.com
Tue Jan 21 15:41:36 EST 2014


I really don't see scons getting into the java game anytime soon. I like scons for a lot of things, but the gradle/maven/ivy folks are light years ahead of scons in managing java's class lib dependencies. Scons cod try to tie into the central maven repository I suppose, but I feel like there's a fundamental difference between java projects and c/c++ projects that goes back to core differences in philosophy between the languages. Scons certainly could try to compete with gradle... But I don't see any real point in doing so. Maybe if you had a predominantly c project with a little java. But most mixtures will be predominantly java with a little c. As much as I like scons, gradle is a superior tool for building java projects, and I don't see that changing anytime soon.

Robert




> On Jan 21, 2014, at 2:29 PM, Dirk Bächle <tshortik at gmx.de> wrote:

>

> Hi Russel,

>

>> On 21.01.2014 19:26, Russel Winder wrote:

>>> On Tue, 2014-01-21 at 14:07 +0100, Brady Johnson wrote:

>>> […]

>>> I cant think of a solution for this problem, other than including direct

>>> calls to the java compiler in the builder that generates the java files,

>>> and figure out the correct java target class directory structure based on

>>> the input thrift files.

>> […]

>>

>> The (many) problems of the Java builder have been discussed many times

>> over the years. From time to time someone has a tinker to try and

>> resolve some of the problems. However they generally come across the

>> problem that SCons needs an emitter that determines the exact set

>> of .class files given the source input. Given that you have to compile

>> Java source to know what this set is, it sort of undermines the whole

>> SCons management of Java code.

>

> compiling is probably not really required, but parsing enough of Java's syntax to be able to extract the infos about anonymous classes and such. From this, an Emitter could then mimic the naming schemes of the different Java compilers and spit out the correct list of created class files.

>

>> Given that the number of people working with Java who are not using

>> Gradle (or Maven (or Ant)) is tiny, there isn't really that much energy

>> available to see what might be done. Given Scala has SBT, Clojure has

>> Leiningen, and Kotlin and Ceylon nigh on require an IDE, and Gradle can

>> now process C and C++, the need to make SCons JVM language offering work

>> is receding rapidly into the distance.

> This sounds to me, as if you don't plan to work on Java support for SCons anymore...which is totally fine. Has there been any further development or discussion together with JanNijtmans, beyond what's currently available at

>

> http://www.scons.org/wiki/JavaStrategy

>

> and

>

> http://www.scons.org/wiki/JavaSupport

>

> ? If yes, it would be great if we could wrap things up a little, by collecting and documenting the additional findings.

>

> I'll continue my work on an Ant-like recursive Glob() soon, which would also help for Java projects. If we then overcome the Emitter problem somehow, do you think we could get back in the game? Or are the other obstacles you mentioned, like support for code coverage tools, equally big and hard to tackle?

>

>

> Regards,

>

> Dirk

>

> _______________________________________________

> Scons-users mailing list

> Scons-users at scons.org

> http://four.pairlist.net/mailman/listinfo/scons-users



More information about the Scons-users mailing list