Jogamp Versioning and Releases

Releases
2.0-rc11,2.0-rc10, 2.0-rc9, 2.0-rc8, 2.0-rc7, 2.0-rc6, 2.0-rc5, 2.0-rc4, 2.0-rc3, 2.0-rc2, 2.0-rc1

Current Aliases

 * jogamp-current -> v2.0-rc11
 * jogamp-next -> v2.0-rc11
 * webstart -> v2.0-rc11
 * webstart-next -> v2.0-rc11

Release Classification
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.
 * It is suitable for JNLP and Applets (with or without JNLP).
 * This is the most stable and recommended version.
 * Archive folder containing platform ZIP files for manual installation.

Signed Release Candidate

 * This is our signed release candidate, IE a manual promoted and signed autobuild.
 * It is suitable for JNLP and Applets (with or without JNLP).
 * Platform ZIP archive's URL for manual installation.
 * Archive folder containing platform ZIP files for manual installation.

Signed Release Specific Version

 * This is a specific signed release, IE a manual promoted autobuild.
 * It is suitable for JNLP and Applets (with or without JNLP).
 * Archive folder containing platform ZIP files for manual installation.

Autobuilds
What others call nightlies, we call it autobuild. Autobuilds are provided by our [/chuck/job/jogl/ Jenkins build server]:
 * For [/chuck/job/jogl/ each project build reports] are available:
 * [/chuck/job/jogl/lastSuccessfulBuild/ Last Successful JOGL Build]
 * [/chuck/job/jogl/476/ JOGL Build 476]
 * They are [/chuck/job/jogl/476/changes#detail0 triggered by git commits]
 * Here is a list of all JOGL changes.
 * These builds are also tested on all supported platforms automatically with junit, see a [/chuck/job/jogl/label=win7-x86_64-nvida/lastCompletedBuild/testReport/ complete test report from one platform].
 * [/deployment/autobuilds/master/jogl-b485-2011-09-20_08-30-36/ Autobuild URL] containing platform ZIP files for manual installation.

Archived builds

 * Contains archived builds and releases.
 * May be signed.
 * [/deployment/archive/rc/gluegen_28-joal_17-jogl_41-jocl_25/archive/ archive URL] containing platform ZIP files for manual installation.

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: --b-

artifact.properties
The version fingerprint is available in the [/deployment/autobuilds/master/jogl-b485-2011-09-20_08-30-36/artifact.properties 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 [/deployment/autobuilds/master/jogl-b485-2011-09-20_08-30-36/ 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

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 JogampVersion specialization with a static  method to access the singleton instance, eg. for the GlueGenVersion or JoglVersion. You may utilize the version information from within your application in a programmatic manner. For the latter you may find the Platform information useful as well.

Each module's JogampVersion specialization also contain a static main entry allowing you to retrieve the version information at runtime as described below.

When invoked, ie via JOGL's platform ZIP file: you will see the full dump of the runtime platform and the above mentioned version footprint.
 * sh etc/test.sh (Unixoid), or
 * etc\test.bat (Windows)

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.

You may also like to send us the debug version: which produces the file test_dbg.log and should be send to us to complete the bugreport as well.
 * sh etc/test_dbg.sh (Unixoid), or
 * etc\test_dbg.bat (Windows)

Retrieve Release Version Tag from GIT Hash
git-show-tags-of-commit.sh
 * 1) ! /bin/sh

sha1=$1 shift

git show-ref --tags -d | grep ^$sha1 | sed -e 's,.* refs/tags/,,' -e 's/\^{}//'

JOGL example: > git-show-tags-of-commit.sh 9ff0b0dafea2a03a915c97eb1513c39c27b6a7ae v2.0-rc8

GlueGen example: > git-show-tags-of-commit.sh 4ce601b38ca8418eddbe8cca4d531e6161fae26b v2.0-rc7 v2.0-rc8

Autobuild Files
[/deployment/autobuilds/master/jogl-b485-2011-09-20_08-30-36/ Autobuild Platform ZIP files] for each module follow the versioning scheme plus contain the platform identifier [/jogl/doc/deployment/JOGL-DEPLOYMENT.html#NativeJARFileNameConvention OS and ARCH]: jogl-2.0-b210-20101110-linux-amd64.zip

Release and Archived Files
The [/deployment/jogamp-current/archive/ release archive folder] contains 7z archive files for each platform containing all modules, ie. jogamp-linux-os.and.arch.7z. The os.and.arch refers to the [/jogl/doc/deployment/JOGL-DEPLOYMENT.html#NativeJARFileNameConvention native file naming convention].

For example:
 * jogamp-linux-amd64.7z
 * jogamp-linux-i586.7z
 * jogamp-windows-amd64.7z
 * jogamp-windows-i586.7z

The folder also contains the Java API document ZIP files:
 * gluegen-javadoc.zip
 * jogl-javadoc.zip
 * jocl-javadoc.zip
 * joal-javadoc.zip</tt>