Jogamp Versioning and Releases
Versioning
Version Fingerprint
You can get the get the source code via git, hence all references of a JogAmp module version boils down to:
- module base version
- git commit sha1 hash
- build number
- module OS and ARCH
We construct a full version string as follows:
<module>-<base_version>-b<build_number>-<yyyymmdd>
Platform ZIP files are named in such fashion, plus contain the platform information, OS and ARCH:
jogl-2.0-b210-20101110-linux-amd64.zip
artifact.properties
The version fingerprint is available in the artifact.properties file:
gluegen.build.number=200 gluegen.build.id=2010-11-09_22-30-24 gluegen.build.branch=master gluegen.build.commit=92e1e8b24d128e08f13b05bd630ad7b0bf1cbf9f jogl.build.number=209 jogl.build.id=2010-11-09_22-35-00 jogl.build.branch=master jogl.build.commit=4ea473a2cbf59fcbd8e82d26da389cd8c2b4a291
We deploy artifacts.properties in the online build folder and within the platform ZIP archives.
JAR Manifest
The version fingerprint is also included within each JAR Manifest file, where the Specification-Version equals the module base version and the Implementation-Version equals the above mentioned full version string
Manifest-Version: 1.0 Ant-Version: Apache Ant 1.8.0 Created-By: 1.6.0_21-b06 (Sun Microsystems Inc.) Specification-Title: Java Bindings for OpenGL API Specification Specification-Version: 2.0 Specification-Vendor: JogAmp community Implementation-Title: Java Bindings for OpenGL Runtime Environment Implementation-Version: 2.0-b209-20101110 Implementation-Branch: master Implementation-Commit: 4ea473a2cbf59fcbd8e82d26da389cd8c2b4a291 Implementation-Vendor: JogAmp community Extension-Name: javax.media.opengl Implementation-Vendor-Id: com.jogamp Trusted-Library: true
You can also verify the hudson build and test on our hudson server. Here is the hudson report for the above mentioned build 209, which also links directly to the github source code repository.
Each module has also a base version, like major and minor, ie 2.0, which we may change to emphasize major feature and API changes.
Runtime Version Check
Each module has a build in VersionInfo class with a static main entry, ie com.jogamp.common.util.VersionInfo (gluegen), or com.jogamp.opengl.util.VersionInfo (JOGL).
When invoked, ie via JOGL's platform ZIP file:
- etc/test.sh (Unixoid), or
- etc\test.bat (Windows)
you will see the full dump of the runtime platform and the above mentioned version footprint.
JOGL Platform: Linux 2.6.35.7-x86_64-k10-x8-risa (os), amd64 (arch) JOGL Platform: littleEndian true, 32Bit false, a-ptr bit-size 64 JOGL Platform: Java 1.6.0_21, Sun Microsystems Inc., http://java.sun.com/, is JavaSE: true JOGL package javax.media.opengl JOGL Implementation-Title = Java Bindings for OpenGL Runtime Environment JOGL Implementation-Version = 2.0-b211-20101110 JOGL Specification-Vendor = JogAmp Community JOGL Manifest-Version = 1.0 JOGL Created-By = 1.6.0_21-b06 (Sun Microsystems Inc.) JOGL Implementation-Vendor = JogAmp Community JOGL Implementation-Commit = 0893339854e3f4a4fab7b19e073304973e763b10 JOGL Ant-Version = Apache Ant 1.8.0 JOGL Implementation-Vendor-Id = com.jogamp JOGL Trusted-Library = true JOGL Specification-Title = Java Bindings for OpenGL API Specification JOGL Implementation-Branch = master JOGL Specification-Version = 2.0 JOGL Extension-Name = javax.media.opengl
The dump is hold in the file
test.log
,
which you should send to us in case of a bugreport.
Releases
Releases follow the above mentioned versioning scheme.
The following list is ordered from stable and oldest to experimental and newest.
Signed Release
- This is our current signed release, IE a manual promoted and signed autobuild.
- As the URL suggests, it is suitable for JNLP and Applets (with or without JNLP).
- This is the most stable and recommended version.
Signed Candidate
- This is our signed release candidate, IE a manual promoted and signed autobuild.
- As the URL suggests, it is suitable for JNLP and Applets (with or without JNLP).
Candidate
- This is our unsigned release candidate, IE a manual promoted autobuild.
Autobuilds
- What others call nightlies, we call it autobuild.
- Autobuilds are provided by our hudson build server,
- they are triggered by git commits
- and build on all supported platforms. Have a look at a hudson report if you like.
Here is a list of all JOGL changes, for example.
These builds are also tested on all supported platforms automatically with junit. Here is a complete test report from one platform.
Archived builds
It is what it says, archived releases, which might have been signed.