Jogamp Versioning and Releases

From JogampWiki
Revision as of 11:52, 10 November 2010 by Sgothel (talk | contribs)
Jump to navigation Jump to search

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

Releases

Releases follow the above mentioned versioning scheme.

Here you can find information about the build locations.