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

Changes

Summary

  1. Bump Android NDK to 'android-ndk-r8d' - Note: '-fno-use-linker-plugin' (details)
  2. Cleanup GlueGen config 'ExtendedInterfaceSymbols*' (details)
  3. Fix comments in gluegen-cpptasks-android* config file (details)
  4. Android: Cleanup ClassLoaderUtil/LauncherUtil - Using cached parent (details)
  5. IOUtil.copyStream2ByteBuffer: read while numRead > -1 ; add variant w/ (details)
  6. IOUtil.copyStream2ByteBuffer: Turns out on Android, no -1 (EOS) is (details)
Commit 0634a2f9b4812b04dce4df466568184beac5c8cf by Sven Gothel
Bump Android NDK to 'android-ndk-r8d' - Note: '-fno-use-linker-plugin' is required (?!)
The file was modifiedmake/lib/gluegen-cpptasks-android-armv6.xml (diff)
The file was modifiedmake/scripts/make.gluegen.all.android-armv7-cross.sh (diff)
The file was modifiedmake/lib/gluegen-cpptasks-android-armv7.xml (diff)
The file was modifiedmake/scripts/make.gluegen.all.android-armv6-cross.sh (diff)
Commit e58643727cc36d6dc27cec9e02934c26de7621ee by Sven Gothel
Cleanup GlueGen config 'ExtendedInterfaceSymbols*'

Semantics Change:
  ExtendedInterfaceSymbolsOnly was used for implementation generation only,
  which is considered a bug!

- ExtendedInterfaceSymbolsIgnore C.java
  - Ignore symbols in C.java for interface generation
- ExtendedInterfaceSymbolsOnly C.java
  - Only use symbols in C.java for interface generation
- ExtendedImplementationSymbolsIgnore C.java
  - Ignore symbols in C.java for implementation generation
- ExtendedImplementationSymbolsOnly C.java
  - Only use symbols in C.java for implementation generation
- ExtendedIntfAndImplSymbolsIgnore C.java
  - Ignore symbols in C.java for interface and implementation generation
- ExtendedIntfAndImplSymbolsOnly C.java
  - Only use symbols in C.java for interface and implementation generation
The file was modifiedsrc/java/com/jogamp/gluegen/JavaConfiguration.java (diff)
Commit c8de8fbf5d080b674b509763fbb7374c21ee705b by Sven Gothel
Fix comments in gluegen-cpptasks-android* config file
The file was modifiedmake/lib/gluegen-cpptasks-android-armv7.xml (diff)
The file was modifiedmake/lib/gluegen-cpptasks-android-armv6.xml (diff)
Commit b47d0d92dd222999bf38633de1cec8de6a7ad369 by Sven Gothel
Android: Cleanup ClassLoaderUtil/LauncherUtil - Using cached parent ClassLoader for SYS-Packages w/ native libs, and non cached child ClassLoader for USR-Packages

Android's Dalvik VM, like a JVM, cannot load a native library from one location by multiple ClassLoader.

Since we don't like to hardcode the system-packages, as it was before, i.e. "com.jogamp.common", "javax.media.opengl",
we need to either copy the libs or use parenting of cached ClassLoader.
The latter is chosen, since it's faster and uses less resources.

- System-packages are passed through from the user 'List<String> LauncherUtil.BaseActivityLauncher::getSysPackages()'
  to the ActivityLauncher, which instantiates the ClassLoader.

- No more hard-reference the system-packages in ClassLoaderUtil ("com.jogamp.common", "javax.media.opengl"),
  just use the new user provided system-packages.

- The system-packages denominate a hash-key for caching, a new ClassLoader is created and mapped
  if it does not yet exist.

- A non-chached user-packages ClassLoader is created using the cached system-packages ClassLoader as it's parent.
The file was modifiedsrc/java/jogamp/android/launcher/ClassLoaderUtil.java (diff)
The file was modifiedsrc/java/jogamp/android/launcher/ActivityLauncher.java (diff)
The file was modifiedsrc/java/jogamp/android/launcher/LauncherUtil.java (diff)
The file was modifiedsrc/java/jogamp/android/launcher/MainLauncher.java (diff)
The file was modifiedmake/scripts/adb-launch-main.sh (diff)
Commit ec7f7a3c809bb9e3beb84ce90e2fcbd8b7f4b7ee by Sven Gothel
IOUtil.copyStream2ByteBuffer: read while numRead > -1 ; add variant w/ initialCapcity
The file was modifiedsrc/java/com/jogamp/common/util/IOUtil.java (diff)
Commit 1118cb7182611d0a77764a3c781a1148849b3022 by Sven Gothel
IOUtil.copyStream2ByteBuffer: Turns out on Android, no -1 (EOS) is returned - relax loop-condition (hope thats ok)
The file was modifiedsrc/java/com/jogamp/common/util/IOUtil.java (diff)