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

Changes

Summary

  1. android remote adb test fixes: (1) Add connect; (2) Remove overriding (details)
  2. Stabilize open InputStream's / Closeable's: Decorate w/ try-finally and (details)
  3. android remote test script: panda02 is my default test machine (details)
  4. Allow GLUEGEN_CPPTASKS_FILE to be relative to gluegen.root ; Load (details)
  5. Fix rel GLUEGEN_CPPTASKS_FILE commit (details)
  6. Intro.: PropertyAccess ; Added safe PropertyAccess for JNILibLoaderBase, (details)
  7. SecurityUtil: Generalize cert validation and AccessControlContext query; (details)
  8. PropertyAccess: Push down 'isPropertyDefined(final String property, (details)
  9. Android: New ActivityLauncher (jogamp.android-launcher.apk) (details)
  10. Add 'asset' URLConnection; IOUtil uses URLConnection / incr. effeciency; (details)
  11. Adding missing file .. oops (details)
  12. Added adb install files (details)
Commit 227ad20f6bf10d5d28073dfbd3fac363e3a09531 by Sven Gothel
android remote adb test fixes: (1) Add connect; (2) Remove overriding explicit BOOTCLASSPATH, use default.

(2) Android 4.0.3 LEB 12.02 / Pandaboard requires the original BOOTCLASSPATH,
    otherwise dependencies are broken and dalvikvm crashes.

    Adding 'our' ant-junit-all.apk to 'complete' the set of our required junit/ant classes
    seems to work well on V. 2.3.6 (Samsung Galaxy S) and V. 4.0.3.
The file was modifiedmake/build-test.xml (diff)
Commit 24f8694a188b4a5255d4ac4f8b49982bd8ad3228 by Sven Gothel
Stabilize open InputStream's / Closeable's: Decorate w/ try-finally and close within the latter
The file was modifiedsrc/java/com/jogamp/common/util/IOUtil.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestIOUtil01.java (diff)
The file was modifiedsrc/java/com/jogamp/common/util/VersionUtil.java (diff)
Commit cb343deee37687519103112f637a3dc60d0d97c2 by Sven Gothel
android remote test script: panda02 is my default test machine
The file was modifiedmake/scripts/make.gluegen.all.android-armv7-cross.sh (diff)
Commit e617834dcabdb83f383a2d2a82fcd2d9d987c154 by Sven Gothel
Allow GLUEGEN_CPPTASKS_FILE to be relative to gluegen.root ; Load gluegen-cpptasks-base.xml in custom files w/ gluegen.root.abs-path.
The file was modifiedmake/gluegen-cpptasks.xml (diff)
The file was modifiedmake/lib/gluegen-cpptasks-linux-armv7.xml (diff)
The file was modifiedmake/lib/gluegen-cpptasks-android-armv7.xml (diff)
Commit 8d5786376337bcd40095c5a4d13e40696021e311 by Sven Gothel
Fix rel GLUEGEN_CPPTASKS_FILE commit e617834dcabdb83f383a2d2a82fcd2d9d987c154
The file was modifiedmake/gluegen-cpptasks.xml (diff)
Commit bab77b637e7cdd327de5f66989fcbfc0298b9b88 by Sven Gothel
Intro.: PropertyAccess ; Added safe PropertyAccess for JNILibLoaderBase, Platform, IOUtil, ..

- Intro.: PropertyAccess
  - Base class of all Debug impl, reduces redundancies.

  - jnlpAlias'ed trusted property is queried within local AccessControlContext
    to avoid 'JRE' implementation differences (should not be required).

  - throw NPE and IllegalArgumentException for invalid property key

- Added safe PropertyAccess
  - JNILibLoaderBase: sun.jnlp.applet.launcher
  - Platform: jogamp.gluegen.UseTempJarCache
  - IOUtil: java.io.tmpdir
The file was modifiedsrc/java/com/jogamp/gluegen/Logging.java (diff)
The file was modifiedsrc/java/com/jogamp/common/util/locks/Lock.java (diff)
The file was modifiedsrc/java/com/jogamp/common/os/Platform.java (diff)
The file was modifiedsrc/java/com/jogamp/common/jvm/JNILibLoaderBase.java (diff)
The file was addedsrc/java/jogamp/common/PropertyAccess.java (diff)
The file was modifiedsrc/java/com/jogamp/common/util/IOUtil.java (diff)
The file was modifiedsrc/java/jogamp/common/Debug.java (diff)
Commit f4ac27e177f6deb444280d3b375e7d343e38bd08 by Sven Gothel
SecurityUtil: Generalize cert validation and AccessControlContext query; PropertyAccess: Fix security code, grant access to common 'trusted' properties

- SecurityUtil
  - Generalize cert validation for JAR and property access
  - Grant access to common AccessControlContext for 'same' cert

- PropertyAccess:
  - Fix security code: Passing the current AccessControlContext from the caller
    didn't include priviledges.

  - Grant access to common 'trusted' properties,
    which removes the need of passing the AccessControlContext for general properties
    like 'jnlp.', 'jogamp.' ..

  - Enable registering 'trusted' properties, when caller's cert is 'same'
The file was modifiedsrc/java/com/jogamp/common/util/JarUtil.java (diff)
The file was addedsrc/java/com/jogamp/common/util/PropertyAccess.java (diff)
The file was modifiedsrc/java/com/jogamp/common/util/cache/TempJarCache.java (diff)
The file was modifiedsrc/java/com/jogamp/common/util/locks/Lock.java (diff)
The file was modifiedsrc/java/com/jogamp/common/jvm/JNILibLoaderBase.java (diff)
The file was modifiedsrc/java/com/jogamp/common/os/Platform.java (diff)
The file was modifiedsrc/java/com/jogamp/common/util/IOUtil.java (diff)
The file was modifiedsrc/java/jogamp/common/Debug.java (diff)
The file was removedsrc/java/jogamp/common/PropertyAccess.java (diff)
The file was modifiedsrc/java/com/jogamp/common/util/cache/TempFileCache.java (diff)
The file was addedsrc/java/com/jogamp/common/util/SecurityUtil.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/Logging.java (diff)
Commit eedb4b530fb83fc59a26962bcf7847a1404092a0 by Sven Gothel
PropertyAccess: Push down 'isPropertyDefined(final String property, final boolean jnlpAlias)' for trusted properties

The method shall be called by the respective Debug specialization, which registers the trusted property prefix.
The file was modifiedsrc/java/com/jogamp/common/util/PropertyAccess.java (diff)
The file was modifiedsrc/java/jogamp/common/Debug.java (diff)
The file was modifiedsrc/java/com/jogamp/common/util/IOUtil.java (diff)
Commit 0cfc7847c58b51c9a26b50d905b592d1fc4c8578 by Sven Gothel
Android: New ActivityLauncher (jogamp.android-launcher.apk)

ActivityLauncher provides delegating Activities, allowing the user to:

  - daisy chain custom APK classes and native libraries to the classpath

  - name one custom activity which gets delegated to, the downstream activity

Overview:

  [User:a1] -- (usr-data) --> [Launcher] -> [User:a2] + using [other packages..]

[User APK]   - The user provided APK
[JogAmp APK] - JogAmp APKs

[User:a1]    - The initial user activity, which starts the [Launcher].
               Providing data to [Launcher]: [User:a2], [User APK]
               Resides in [User APK]

[User:a2]    - The actual downstream 'real' activity, spoiled w/ full fledged ClassLoader
               having access to all packages as requested, ie. [User APK], ..
               Resides in [User APK]

[Launcher]   - The launcher activity.
               Gets called by [User:a1].
               Creates a new ClassLoader, daisy chainging all requested APKs.
               Instantiates [User:a2] w/ new ClassLoader.
               Delegates all calls to [User:a2].
               Resides in [JogAmp APK].
The file was addedsrc/java/jogamp/android/launcher/LauncherMain.java (diff)
The file was addedmake/resources/android/res/values/styles.xml (diff)
The file was removedmake/resources/android/AndroidManifest-CompileTime.xml (diff)
The file was addedsrc/java/jogamp/android/launcher/ActivityLauncher.java (diff)
The file was modifiedmake/build.xml (diff)
The file was modifiedmake/resources/android/AndroidManifest-Test.xml (diff)
The file was modifiedmake/resources/android/AndroidManifest-Runtime.xml (diff)
The file was modifiedmake/build-test.xml (diff)
The file was addedmake/resources/android/AndroidManifest-Launcher.xml (diff)
The file was modifiedmake/resources/android/res/values/strings.xml (diff)
The file was addedmake/resources/android/res/values/colors.xml (diff)
The file was addedsrc/java/jogamp/android/launcher/ClassLoaderUtil.java (diff)
The file was addedsrc/java/jogamp/android/launcher/LauncherTempFileCache.java (diff)
The file was addedsrc/java/jogamp/android/launcher/LauncherUtil.java (diff)
Commit 235f8b1cbff8ed13071d5c19c0be492c0b25cb78 by Sven Gothel
Add 'asset' URLConnection; IOUtil uses URLConnection / incr. effeciency; Android ClassLoaderUtil cleanup;

- Add 'asset' URLConnection
  - Please read API doc 'PiggybackURLConnection' and 'AssetURLConnection'

  - Solves generic resource handling where platform locations may differ,
    ie ClassLoader lookup on Android in the 'assets/' subfolder.

  - New Android 'AssetDexClassLoader' uses 'assets/' folder for findResource(..)

  - aapt.signed (our APK ant task)
    - uses 'assets/' folder

    - adds the 'assetsdir' attribute allowing to copy other assets into the APK

- IOUtil uses URLConnection / incr. effeciency
  - using URLConnection on all getResource(..) since URL
    is connected anyways for validation and URLConnection can be used by caller right away

  - String getRelativeOf(URL, String) -> URL getRelativeOf(URL, String)
    - preserves scheme, authority, etc
    - simple parentOf handling, more efficient

  - reusing new 'asset' protocol impl.

- Android ClassLoaderUtil cleanup;
  - Use createClassLoader(..) impl for build-in static jogamp and user APKs,
    which removes code redundancy

Tests: New code path, especially 'assets' are covered by new unit tests, no regressions on Linux.
The file was addedsrc/java/com/jogamp/common/net/AssetURLContext.java (diff)
The file was addedsrc/java/jogamp/android/launcher/AssetDexClassLoader.java (diff)
The file was modifiedmake/scripts/adb-uninstall-all.sh (diff)
The file was modifiedsrc/java/com/jogamp/common/util/IOUtil.java (diff)
The file was addedsrc/junit/com/jogamp/common/net/URLCompositionTest.java (diff)
The file was addedsrc/junit/com/jogamp/common/net/AssetURLConnectionBase.java (diff)
The file was modifiedsrc/java/jogamp/android/launcher/LauncherMain.java (diff)
The file was modifiedsrc/java/jogamp/android/launcher/ActivityLauncher.java (diff)
The file was modifiedsrc/java/com/jogamp/common/os/AndroidVersion.java (diff)
The file was modifiedmake/build.xml (diff)
The file was addedsrc/java/com/jogamp/common/net/GenericURLStreamHandlerFactory.java (diff)
The file was addedsrc/junit/com/jogamp/common/net/AssetURLConnectionUnregisteredTest.java (diff)
The file was addedsrc/java/com/jogamp/common/net/AssetURLConnection.java (diff)
The file was addedsrc/java/com/jogamp/common/net/AssetURLStreamHandler.java (diff)
The file was addedsrc/java/jogamp/android/launcher/TraceDexClassLoader.java (diff)
The file was modifiedsrc/java/jogamp/android/launcher/ClassLoaderUtil.java (diff)
The file was modifiedsrc/java/jogamp/common/os/android/StaticContext.java (diff)
The file was addedmake/resources/assets-test/com/jogamp/common/net/data/AssetURLConnectionTest.txt (diff)
The file was addedmake/resources/assets-test/com/jogamp/common/net/data/RelativeData.txt (diff)
The file was modifiedsrc/java/com/jogamp/common/nio/AbstractBuffer.java (diff)
The file was modifiedsrc/java/jogamp/common/os/android/GluegenVersionActivity.java (diff)
The file was modifiedmake/gluegen-cpptasks.xml (diff)
The file was addedsrc/java/com/jogamp/common/net/PiggybackURLContext.java (diff)
The file was modifiedmake/scripts/runtest.sh (diff)
The file was modifiedmake/scripts/setenv-build-jogl-x86_64.sh (diff)
The file was addedsrc/java/com/jogamp/common/net/asset/Handler.java (diff)
The file was addedmake/resources/assets/gluegen/info.txt (diff)
The file was modifiedmake/build-test.xml (diff)
The file was addedsrc/java/com/jogamp/common/net/PiggybackURLConnection.java (diff)
The file was modifiedmake/jogamp-androidtasks.xml (diff)
The file was addedmake/resources/assets-test/gluegen-test/info.txt (diff)
The file was addedsrc/junit/com/jogamp/common/net/AssetURLConnectionRegisteredTest.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestIOUtil01.java (diff)
Commit f34a002adf9bf799ebc748578fddb7ec58ac589b by Sven Gothel
Adding missing file .. oops
The file was addedmake/Manifest-android-launcher (diff)
Commit 6e732314105b12ef92a09c1db3823a55e9a39f4f by Sven Gothel
Added adb install files
The file was addedmake/scripts/adb-install-all-armv7.sh (diff)
The file was addedmake/scripts/adb-reinstall-all-armv7.sh (diff)