Jogamp Versioning and Releases: Difference between revisions
| Line 86: | Line 86: | ||
[{{SERVER}}/deployment/autobuilds/master/jogl-b485-2011-09-20_08-30-36/artifact.properties artifact.properties] file: | [{{SERVER}}/deployment/autobuilds/master/jogl-b485-2011-09-20_08-30-36/artifact.properties artifact.properties] file: | ||
<pre> | <pre> | ||
gluegen.build. | gluegen.build.branch=origin/master | ||
gluegen.build.id= | gluegen.build.commit=3fec08a69de571cf2939e6028487faea8a23ccaa | ||
gluegen.build. | gluegen.build.id=2013-11-01_05-57-23 | ||
gluegen.build. | gluegen.build.number=741 | ||
jogl.build. | gluegen.build.version=2.1.2 | ||
jogl.build.id= | jogl.build.branch=origin/master | ||
jogl.build. | jogl.build.commit=3ed74abaddb90cb537897b9928e923be50f7f99f | ||
jogl.build. | jogl.build.id=2013-11-01_19-08-47 | ||
jogl.build.number=1135 | |||
jogl.build.version=2.1.2 | |||
</pre> | </pre> | ||
Revision as of 21:44, 1 November 2013
Releases
Current Aliases
- jogamp-current -> v2.1.2
- jogamp-next -> v2.1.2
- webstart -> v2.1.2
- webstart-next -> v2.1.2
Release Classification
Releases follow the above mentioned versioning scheme.
The following list is ordered from stable and oldest to experimental and newest.
- 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.
- this section
- See instructions for downloading and installing.
- 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.
- See instructions for downloading and installing.
- 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.
- See instructions for downloading and installing.
- This is our latest aggregated autobuild, which we seem fit for broad testing and submitting a bugreport.
- It is not signed and hence not suitable for JNLP and Applets.
- See instructions for downloading and installing.
What others call nightlies, we call it autobuild. Autobuilds are provided by our Jenkins build server:
- For each project build reports are available:
- They are 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 complete test report from one platform.
- Autobuild URL containing platform ZIP files for manual installation.
- Contains archived builds and releases.
- May be signed.
- archive URL containing platform ZIP files for manual installation.
Version Classification
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>
artifact.properties
The version fingerprint is available in the artifact.properties file:
gluegen.build.branch=origin/master gluegen.build.commit=3fec08a69de571cf2939e6028487faea8a23ccaa gluegen.build.id=2013-11-01_05-57-23 gluegen.build.number=741 gluegen.build.version=2.1.2 jogl.build.branch=origin/master jogl.build.commit=3ed74abaddb90cb537897b9928e923be50f7f99f jogl.build.id=2013-11-01_19-08-47 jogl.build.number=1135 jogl.build.version=2.1.2
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
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 getInstance() 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:
- sh 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.
-----------------------------------------------------------------------------------------------------
Platform: LINUX / Linux 3.7.1-x64-k10-nlb-jau01 (os), amd64 (arch), GENERIC_ABI, 8 cores
MachineDescription: runtimeValidated true, littleEndian true, 32Bit false, primitive size / alignment:
int8 1 / 1, int16 2 / 2
int 4 / 4, long 8 / 8
int32 4 / 4, int64 8 / 8
float 4 / 4, double 8 / 8, ldouble 16 / 16
pointer 8 / 8, page 4096
Platform: Java Version: 1.6.0_38, VM: Java HotSpot(TM) 64-Bit Server VM, Runtime: Java(TM) SE Runtime Environment
Platform: Java Vendor: Sun Microsystems Inc., http://java.sun.com/, JavaSE: true, Java6: true, AWT enabled: true
-----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
Package: com.jogamp.common
Extension Name: com.jogamp.common
Specification Title: GlueGen Java Bindings Generator
Specification Vendor: JogAmp Community
Specification Version: 2.0
Implementation Title: GlueGen Run-Time
Implementation Vendor: JogAmp Community
Implementation Vendor ID: com.jogamp
Implementation URL: http://jogamp.org/
Implementation Version: 2.0-b646-20130313
Implementation Branch: master
Implementation Commit: 1a4514accc8f61ab7ff5fe8c82d22a5ef356c865
-----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
Package: javax.media.opengl
Extension Name: javax.media.opengl
Specification Title: Java Bindings for OpenGL API Specification
Specification Vendor: JogAmp Community
Specification Version: 2.0
Implementation Title: Java Bindings for OpenGL Runtime Environment
Implementation Vendor: JogAmp Community
Implementation Vendor ID: com.jogamp
Implementation URL: http://jogamp.org/
Implementation Version: 2.0-b930-20130313
Implementation Branch: master
Implementation Commit: 58f6f4e5665ae2c72ec6bbd86ad5a36bef00de07
-----------------------------------------------------------------------------------------------------
Default Profiles on device X11GraphicsDevice[type .x11, connection :0, unitID 0, handle 0x0, owner false, ResourceToolkitLock[obj 0x4430d82d, isOwner false, <62c09554, 518bf072>[count 0, qsz 0, owner <NULL>]]]
Native
GL4bc true [4.2 (Compatibility profile, arb, ES2 compatible, FBO, hardware)]
GL4 true [4.2 (Core profile, arb, ES2 compatible, FBO, hardware)]
GL3bc true [4.2 (Compatibility profile, arb, ES2 compatible, FBO, hardware)]
GL3 true [4.2 (Core profile, arb, ES2 compatible, FBO, hardware)]
GL2 true [4.2 (Compatibility profile, arb, ES2 compatible, FBO, hardware)]
GL2ES1 true
GLES1 true [1.0 (ES profile, FBO, software)]
GL2ES2 true
GLES2 true [2.0 (ES profile, ES2 compatible, FBO, software)]
Profiles
GLProfile[GL2ES2/GL4bc.hw]
GLProfile[GL2ES1/GL4bc.hw]
GLProfile[GL2/GL2.hw]
GLProfile[GL4/GL4.hw]
GLProfile[GL3/GL3.hw]
GLProfile[GL4bc/GL4bc.hw]
GLProfile[GL4bc/GL4bc.hw]
GLProfile[GLES2/GLES2.sw]
GLProfile[GLES1/GLES1.sw]
GLProfile[GL2GL3/GL4bc.hw]
GLProfile[GL3bc/GL3bc.hw]
default GLProfile[GL4bc/GL4bc.hw]
Desktop Capabilities:
GLCaps[glx vid 0x21, fbc 0x105: rgba 0x8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/0, dbl, mono , hw, GLProfile[GL4bc/GL4bc.hw], on-scr[fbo, pbuffer [r2t 0, r2tr 0, float 0], bitmap]]
GLCaps[glx vid 0x22, fbc 0x106: rgba 0x8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/0, dbl, mono , hw, GLProfile[GL4bc/GL4bc.hw], on-scr[fbo, pbuffer [r2t 0, r2tr 0, float 0], bitmap]]
...
EGL Capabilities:
GLCaps[egl cfg 0x19, vid 0x21: rgba 0x8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 0/0/0, dbl, mono , sw, GLProfile[GLES2/GLES2.sw], on-scr[fbo, pbuffer [r2t 0, r2tr 0, float 0], bitmap], [0xd: GL, GLES1, GLES2, VG]]
GLCaps[egl cfg 0x1a, vid 0x21: rgba 0x8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 0/0/0, dbl, mono , sw, GLProfile[GLES2/GLES2.sw], on-scr[fbo, pbuffer [r2t 0, r2tr 0, float 0], bitmap], [0xd: GL, GLES1, GLES2, VG]]
...
-----------------------------------------------------------------------------------------------------
X11GraphicsDevice[type .x11, connection :0]:
Native
GL4bc true [4.2 (Compatibility profile, arb, ES2 compatible, FBO, hardware)]
GL4 true [4.2 (Core profile, arb, ES2 compatible, FBO, hardware)]
GL3bc true [4.2 (Compatibility profile, arb, ES2 compatible, FBO, hardware)]
GL3 true [4.2 (Core profile, arb, ES2 compatible, FBO, hardware)]
GL2 true [4.2 (Compatibility profile, arb, ES2 compatible, FBO, hardware)]
GL2ES1 true
GLES1 true [1.0 (ES profile, FBO, software)]
GL2ES2 true
GLES2 true [2.0 (ES profile, ES2 compatible, FBO, software)]
Profiles
GLProfile[GL2ES2/GL4bc.hw]
GLProfile[GL2ES1/GL4bc.hw]
GLProfile[GL2/GL2.hw]
GLProfile[GL4/GL4.hw]
GLProfile[GL3/GL3.hw]
GLProfile[GL4bc/GL4bc.hw]
GLProfile[GL4bc/GL4bc.hw]
GLProfile[GLES2/GLES2.sw]
GLProfile[GLES1/GLES1.sw]
GLProfile[GL2GL3/GL4bc.hw]
GLProfile[GL3bc/GL3bc.hw]
default GLProfile[GL4bc/GL4bc.hw]
Swap Interval -1
GL Profile GLProfile[GL4bc/GL4bc.hw]
CTX VERSION 4.2 (Compatibility profile, arb, ES2 compatible, FBO, hardware) - 4.2.0 NVIDIA 310.32
GL jogamp.opengl.gl4.GL4bcImpl@6f9bb25a
GL_VENDOR NVIDIA Corporation
GL_RENDERER GeForce GTX 660/PCIe/SSE2
GL_VERSION 4.2.0 NVIDIA 310.32
GLSL true, has-compiler: true, version: 4.20 NVIDIA via Cg compiler
GL_EXTENSIONS 302
GL_ARB_arrays_of_arrays GL_ARB_base_instance ...
GLX_EXTENSIONS 27
GLX_ARB_fbconfig_float GLX_ARB_create_context_robustness ...
-----------------------------------------------------------------------------------------------------
Requested: GLCaps[rgba 0x8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 16/0/0, dbl, mono , hw, GLProfile[GL4bc/GL4bc.hw], on-scr[.]]
Chosen : GLCaps[glx vid 0x27, fbc 0x10d: rgba 0x8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/0, dbl, mono , hw, GLProfile[GL4bc/GL4bc.hw], on-scr[.]]
The dump is hold in the file
test.log
which you should send to us in case of a bugreport.
Runtime Debug Logs
You may also like to send us the debug version:
- sh etc/test_dbg.sh (Unixoid), or
- etc\test_dbg.bat (Windows)
which produces the file
test_dbg.log
and should be send to us to complete the bugreport as well.
Retrieve Release Version Tag from GIT Hash
git-show-tags-of-commit.sh
#! /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
Maven
See the maven instructions for a guide to using Jogamp in Maven projects.
Autobuild Files
Autobuild Platform ZIP files for each module follow the versioning scheme plus contain the platform identifier OS and ARCH:
jogl-2.0-b210-20101110-linux-amd64.zip
Release and Archived Files
The 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 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