Quote:
Originally Posted by Dennis Cosgrove
EAD#3: But Alice is implemented in Java. There really isn't any build information.
|
The above quote didn’t quite ring true when I first saw it - but since I agreed with the rest of Dennis’s posting (Alice is definitely open source, though I doubt anyone would claim the source is well documented
) I really didn’t give it much thought, nor did I really understand some of the following postings.
But then I was looking at the recently (March 4, 2009) released source code for Greenfoot and BlueJ - and there, big as life, were build.xml files for the code for both programs. I started looking at the issue in a little more depth and can say that the above quote is definitely incorrect - or at best misleading. A build file is a Configuration Management (CM) tool that has very little to do with the underlying programming language. If one was not included in the source code package - it was
at the choice of the developers, not a result of the code being Java (also see last comment).
As an example, see
http://en.wikipedia.org/wiki/Apache_Ant for a sample build.xml file, generated using ANT (Another Neat Tool), for a simple Java "Hello, world" program. Of course, going to a full CM system for such a simple program would be ridiculously expensive and time consuming - but the sample does illustrate the approach.
The same link, in the section on portability, has a discussion of Makefiles, which seem to be a Unix (not C++) specific thing. Both this, and Configuration Management in general, are well beyond the scope of a simple forum posting - and also probably not appropriate topics to be addressed at a beginning CS level. It should be noted, however, that for large software projects, especially for critical systems such as medical electronics and avionics, CM is an extremely important part of the overall development process.
In addition to ANT (which is used by NetBeans), there are many other CM tools available, including MSBuild. According to Wiki - several IDE’s also support this function, including a specific plug-in for Eclipse. (As an added note, if you are working with the complete set of Alice source files, you are going to have to have an IDE that handles both C++ and Java, since many C++ files are included.)