Jogamp Versioning and Releases: Difference between revisions

From JogampWiki
Jump to navigation Jump to search
No edit summary
Line 3: Line 3:
== Releases ==
== Releases ==


* [[Release 2.1.2|2.1.2]], [[Release 2.1.1|2.1.1]], [[Release 2.1.0|2.1.0]]
* [[Release 2.1.3|2.1.3]], [[Release 2.1.2|2.1.2]], [[Release 2.1.1|2.1.1]], [[Release 2.1.0|2.1.0]]
* [[Release 2.0.2|2.0.2]]
* [[Release 2.0.2|2.0.2]]
** [[Release 2.0.2-rc12|2.0.2-rc12]],[[Release 2.0-rc11|2.0-rc11]],[[Release 2.0-rc10|2.0-rc10]], [[Release 2.0-rc9|2.0-rc9]], [[Release 2.0-rc8|2.0-rc8]], [[Release 2.0-rc7|2.0-rc7]], [[Release 2.0-rc6|2.0-rc6]], [[Release 2.0-rc5|2.0-rc5]], [[Release 2.0-rc4|2.0-rc4]], [[Release 2.0-rc3|2.0-rc3]], [[Release 2.0-rc2|2.0-rc2]], [[Release 2.0-rc1|2.0-rc1]]
** [[Release 2.0.2-rc12|2.0.2-rc12]],[[Release 2.0-rc11|2.0-rc11]],[[Release 2.0-rc10|2.0-rc10]], [[Release 2.0-rc9|2.0-rc9]], [[Release 2.0-rc8|2.0-rc8]], [[Release 2.0-rc7|2.0-rc7]], [[Release 2.0-rc6|2.0-rc6]], [[Release 2.0-rc5|2.0-rc5]], [[Release 2.0-rc4|2.0-rc4]], [[Release 2.0-rc3|2.0-rc3]], [[Release 2.0-rc2|2.0-rc2]], [[Release 2.0-rc1|2.0-rc1]]
Line 11: Line 11:
=== Current Aliases ===
=== Current Aliases ===


* [http://jogamp.org/deployment/jogamp-current/ jogamp-current] -> [http://jogamp.org/deployment/v2.1.2/ v2.1.2]
* [http://jogamp.org/deployment/jogamp-current/ jogamp-current] -> [http://jogamp.org/deployment/v2.1.3/ v2.1.3]
* [http://jogamp.org/deployment/jogamp-next/ jogamp-next] -> [http://jogamp.org/deployment/v2.1.2/ v2.1.2]
* [http://jogamp.org/deployment/jogamp-next/ jogamp-next] -> [http://jogamp.org/deployment/v2.1.3/ v2.1.3]
* [http://jogamp.org/deployment/webstart/ webstart] -> [http://jogamp.org/deployment/v2.1.2/ v2.1.2]
* [http://jogamp.org/deployment/webstart/ webstart] -> [http://jogamp.org/deployment/v2.1.3/ v2.1.3]
* [http://jogamp.org/deployment/webstart-next/ webstart-next] -> [http://jogamp.org/deployment/v2.1.2/ v2.1.2]
* [http://jogamp.org/deployment/webstart-next/ webstart-next] -> [http://jogamp.org/deployment/v2.1.3/ v2.1.3]


== Release Classification ==
== Release Classification ==

Revision as of 23:57, 13 December 2013

Releases

Android Packages

Current Aliases

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

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.2
Created-By: 1.7.0_45-b18 (Oracle Corporation)
Application-Name: Java Bindings for OpenGL
Specification-Title: Java Bindings for OpenGL API Specification
Specification-Version: 2.1
Specification-Vendor: JogAmp Community
Implementation-Title: Java Bindings for OpenGL Runtime Environment
Implementation-Version: 2.1.2
Implementation-Build: 2.1-b1135-20131101
Implementation-Branch: origin/master
Implementation-Commit: 3ed74abaddb90cb537897b9928e923be50f7f99f
Implementation-Vendor: JogAmp Community
Implementation-URL: http://jogamp.org/
Extension-Name: javax.media.opengl
Implementation-Vendor-Id: com.jogamp
Trusted-Library: true
Permissions: all-permissions
Codebase: *.jogamp.org

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.11.6-x64-k10-nlb-jau01 (3.11.6), 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.7.0_45 (1.7.0u45), VM: Java HotSpot(TM) 64-Bit Server VM, Runtime: Java(TM) SE Runtime Environment
Platform: Java Vendor: Oracle Corporation, http://java.oracle.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.1
Implementation Title: GlueGen Run-Time
Implementation Vendor: JogAmp Community
Implementation Vendor ID: com.jogamp
Implementation URL: http://jogamp.org/
Implementation Version: 2.1.2
Implementation Build: 2.1-b741-20131101
Implementation Branch: origin/master
Implementation Commit: 3fec08a69de571cf2939e6028487faea8a23ccaa
-----------------------------------------------------------------------------------------------------
Package: javax.media.opengl
Extension Name: javax.media.opengl
Specification Title: Java Bindings for OpenGL API Specification
Specification Vendor: JogAmp Community
Specification Version: 2.1
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.1.2
Implementation Build: 2.1-b1135-20131101
Implementation Branch: origin/master
Implementation Commit: 3ed74abaddb90cb537897b9928e923be50f7f99f
-----------------------------------------------------------------------------------------------------

GLProfiles on device X11GraphicsDevice[type .x11, connection :0, unitID 0, handle 0x0, owner false, ResourceToolkitLock[obj 0x207fd4ec, isOwner false, <2873e29f, 50234978>[count 0, qsz 0, owner <NULL>]]]
    Natives
        GL4bc   true [4.4 (Compat profile, arb, ES2 compat, ES3 compat, FBO, hardware)]
        GL4 true [4.4 (Core profile, arb, ES2 compat, ES3 compat, FBO, hardware)]
        GLES3   false
        GL3bc   true [4.4 (Compat profile, arb, ES2 compat, ES3 compat, FBO, hardware)]
        GL3 true [4.4 (Core profile, arb, ES2 compat, ES3 compat, FBO, hardware)]
        GL2 true [4.4 (Compat profile, arb, ES2 compat, ES3 compat, FBO, hardware)]
        GLES2   true [2.0 (ES profile, ES2 compat, FBO, software)]
        GLES1   true [1.0 (ES profile, FP32 compat, software)]
        Count   7 / 8
    Common
        GL4ES3  true
        GL2GL3  true
        GL2ES2  true
        GL2ES1  true
    Mappings
        GL2ES2  GLProfile[GL2ES2/GL4.hw]
        GL2ES1  GLProfile[GL2ES1/GL4bc.hw]
        GL2 GLProfile[GL2/GL4bc.hw]
        GL4 GLProfile[GL4/GL4.hw]
        GL3 GLProfile[GL3/GL4.hw]
        GL4bc   GLProfile[GL4bc/GL4bc.hw]
        GLES2   GLProfile[GLES2/GLES2.sw]
        GLES1   GLProfile[GLES1/GLES1.sw]
        GL4ES3  GLProfile[GL4ES3/GL4.hw]
        GL2GL3  GLProfile[GL2GL3/GL4bc.hw]
        GL3bc   GLProfile[GL3bc/GL4bc.hw]
        default GLProfile[GL4bc/GL4bc.hw]
        Count   11 / 12


Desktop Capabilities:
    GLCaps[glx vid 0x21, fbc 0x105: rgba 8/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, bitmap]]
    .....

Requesting: GLCaps[rgba 8/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[.]]
-----------------------------------------------------------------------------------------------------
X11GraphicsDevice[type .x11, connection :0]:
    Natives
        GL4bc   true [4.4 (Compat profile, arb, ES2 compat, ES3 compat, FBO, hardware)]
        GL4 true [4.4 (Core profile, arb, ES2 compat, ES3 compat, FBO, hardware)]
        GLES3   false
        GL3bc   true [4.4 (Compat profile, arb, ES2 compat, ES3 compat, FBO, hardware)]
        GL3 true [4.4 (Core profile, arb, ES2 compat, ES3 compat, FBO, hardware)]
        GL2 true [4.4 (Compat profile, arb, ES2 compat, ES3 compat, FBO, hardware)]
        GLES2   true [2.0 (ES profile, ES2 compat, FBO, software)]
        GLES1   true [1.0 (ES profile, FP32 compat, software)]
        Count   7 / 8
    Common
        GL4ES3  true
        GL2GL3  true
        GL2ES2  true
        GL2ES1  true
    Mappings
        GL2ES2  GLProfile[GL2ES2/GL4.hw]
        GL2ES1  GLProfile[GL2ES1/GL4bc.hw]
        GL2 GLProfile[GL2/GL4bc.hw]
        GL4 GLProfile[GL4/GL4.hw]
        GL3 GLProfile[GL3/GL4.hw]
        GL4bc   GLProfile[GL4bc/GL4bc.hw]
        GLES2   GLProfile[GLES2/GLES2.sw]
        GLES1   GLProfile[GLES1/GLES1.sw]
        GL4ES3  GLProfile[GL4ES3/GL4.hw]
        GL2GL3  GLProfile[GL2GL3/GL4bc.hw]
        GL3bc   GLProfile[GL3bc/GL4bc.hw]
        default GLProfile[GL4bc/GL4bc.hw]
        Count   11 / 12

GL Profile     GLProfile[GL4bc/GL4bc.hw]
GL Version     4.4 (Compat profile, arb, ES2 compat, ES3 compat, FBO, hardware) - 4.4.0 NVIDIA 331.13 [GL 4.4.0, vendor 331.13.0 (NVIDIA 331.13)]
Quirks         []
Impl. class    jogamp.opengl.gl4.GL4bcImpl
GL_VENDOR      NVIDIA Corporation
GL_RENDERER    GeForce GTX 660/PCIe/SSE2
GL_VERSION     4.4.0 NVIDIA 331.13
GLSL           true, has-compiler-func: true, version: 4.40 NVIDIA via Cg compiler / 4.40.0
GL FBO: basic true, full true
GL_EXTENSIONS  292
GLX_EXTENSIONS 28
-----------------------------------------------------------------------------------------------------
Requested: GLCaps[rgba 8/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 8/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[.]]
GL impl. class jogamp.opengl.gl4.GL4bcImpl
GL4ES3 retrieved, impl. class jogamp.opengl.gl4.GL4bcImpl
GL3 retrieved, impl. class jogamp.opengl.gl4.GL4bcImpl

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