I reworked the build system over the last couple of days. It’s now composed of the following:
- build.xml: the master Ant build script. Responsible for building the core, all backends, extensions and docs
- build-template.xml: a template Ant script used to build all projects. Invoked by the master build script with appropriate parameters for a project’s classpath, jars that should go into the output jar and so on.
That’s about it. As a result, the release/nightly builds now have the following structure:
The core and backend jars are in the root folder of the distribution. The armeabi/ and armeabi-v7a/ folder contain the natives for Android, the gdx-$projectname-natives.jar contain the natives for the respective desktop project.
The extensions folder has the same setup for extensions (jars + desktop natives jars + arm binaries).
In other news: i removed the audio analysis and decoder classes from the core, they are now in gdx-audio. I’ll have those finished by the end of the day, including the mpg123 decoder. Stb TrueType has been moved to its own extension as well (gdx-stb-truetype).
You can now easily build your own distribution by invoking:
ant -f build-new.xml
This will create a dist/ directory containing all the jars and natives for both core and extension projects as outlined above. Only requirement: ant needs to be on your $PATH, JAVA_HOME needs to point to your JDK installation.
You can also build individual projects via:
ant -f build-new.xml gdx-$projectname
More things to come 😀