Skip to content
The Jenkins Controller is preparing for shutdown. No new builds can be started.
Unstable

Changes

Summary

  1. Implement Bug #598 - JOGL ALL JAR File Change incl. it's Native Jar URL (details)
Commit 9a71703904ebfec343fb2c7266343d37a2e4c3db by Sven Gothel
Implement Bug #598 - JOGL ALL JAR File Change incl. it's Native Jar URL Derivation

+++

JNILibLoaderBase.addNativeJarLibs(..): Add API doc
JNILibLoaderBase:
"addNativeJarLibs(Class<?> classFromJavaJar, String allNativeJarBaseName, String[] atomicNativeJarBaseNames)" ->
"addNativeJarLibs(Class<?>[] classesFromJavaJars, String singleJarMarker, String[] stripBasenameSuffixes)"

Derive the 'all' (1st choice) native JAR URL solely on the given class's JAR URL.

Examples:

JOCL:
        // only: jocl.jar -> jocl-natives-'os.and.arch'.jar
        addNativeJarLibs(new Class<?>[] { JOCLJNILibLoader.class }, null, null );

JOGL:
       final ClassLoader cl = GLProfile.class.getClassLoader();
       // either: [jogl-all.jar, jogl-all-noawt.jar, jogl-all-mobile.jar] -> jogl-all-natives-<os.and.arch>.jar
       // or:     nativewindow-core.jar                                   -> nativewindow-natives-<os.and.arch>.jar,
       //         jogl-core.jar                                           -> jogl-natives-<os.and.arch>.jar,
       //        (newt-core.jar                                           -> newt-natives-<os.and.arch>.jar)? (if available)
       final String newtFactoryClassName = "com.jogamp.newt.NewtFactory";
       final Class<?>[] classesFromJavaJars = new Class<?>[] { NWJNILibLoader.class, GLProfile.class, null };
       if( ReflectionUtil.isClassAvailable(newtFactoryClassName, cl) ) {
           classesFromJavaJars[2] = ReflectionUtil.getClass(newtFactoryClassName, false, cl);
       }
       JNILibLoaderBase.addNativeJarLibs(classesFromJavaJars, "-all", new String[] { "-noawt", "-mobile", "-core" } );

Efficiency / Performance:
  - Reduced JAR URL lookup calls JarUtil.getJarURL(..)  - JNILibLoaderBase, Platform, JarUtil
  - Attempt loading Jar files (native, class, ..) only once - TempJarCache

Code Cleanup (IOUtil, JarUtil, :
  - IOException if not found
  - IllegalArgumentException if null argument

+++

jogamp.android-launcher.jar -> jogamp-android-launcher.jar

+++
The file was modified src/java/com/jogamp/common/os/Platform.java (diff)
The file was modified src/junit/com/jogamp/common/util/TestJarUtil.java (diff)
The file was modified make/build-test.xml (diff)
The file was modified make/scripts/adb-install-all-armv7.sh (diff)
The file was modified src/java/com/jogamp/common/jvm/JNILibLoaderBase.java (diff)
The file was modified make/build.xml (diff)
The file was modified src/java/com/jogamp/common/util/IOUtil.java (diff)
The file was modified src/java/com/jogamp/common/util/JarUtil.java (diff)
The file was modified src/java/com/jogamp/common/util/cache/TempJarCache.java (diff)
The file was modified src/junit/com/jogamp/common/util/TestTempJarCache.java (diff)