{
  "_class" : "hudson.matrix.MatrixBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.model.Cause$UserIdCause",
          "shortDescription" : "Started by user Sven Gothel",
          "userId" : "sgothel",
          "userName" : "Sven Gothel"
        }
      ]
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 518,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "6e732314105b12ef92a09c1db3823a55e9a39f4f",
            "branch" : [
              {
                "SHA1" : "6e732314105b12ef92a09c1db3823a55e9a39f4f",
                "name" : "origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "6e732314105b12ef92a09c1db3823a55e9a39f4f",
            "branch" : [
              {
                "SHA1" : "6e732314105b12ef92a09c1db3823a55e9a39f4f",
                "name" : "origin/master"
              }
            ]
          }
        },
        "origin2/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 431,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "ef30b77fab27262f8b5ef3f98880c0caec30bab5",
            "branch" : [
              {
                "SHA1" : "ef30b77fab27262f8b5ef3f98880c0caec30bab5",
                "name" : "origin/master"
              },
              {
                "SHA1" : "ef30b77fab27262f8b5ef3f98880c0caec30bab5",
                "name" : "origin2/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "ef30b77fab27262f8b5ef3f98880c0caec30bab5",
            "branch" : [
              {
                "SHA1" : "ef30b77fab27262f8b5ef3f98880c0caec30bab5",
                "name" : "origin/master"
              },
              {
                "SHA1" : "ef30b77fab27262f8b5ef3f98880c0caec30bab5",
                "name" : "origin2/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "6e732314105b12ef92a09c1db3823a55e9a39f4f",
        "branch" : [
          {
            "SHA1" : "6e732314105b12ef92a09c1db3823a55e9a39f4f",
            "name" : "origin/master"
          }
        ]
      },
      "remoteUrls" : [
        
      ],
      "scmName" : ""
    },
    {
      "_class" : "hudson.plugins.git.GitTagAction"
    },
    {
      
    },
    {
      "_class" : "hudson.tasks.test.MatrixTestResult",
      "failCount" : 1,
      "skipCount" : 0,
      "totalCount" : 1010,
      "urlName" : "testReport"
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : False,
  "description" : None,
  "displayName" : "#518",
  "duration" : 203685,
  "estimatedDuration" : 555867,
  "executor" : None,
  "fullDisplayName" : "gluegen #518",
  "id" : "2012-03-18_09-22-12",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 518,
  "queueId" : -1,
  "result" : "UNSTABLE",
  "timestamp" : 1332058932000,
  "url" : "https://jogamp.org/chuck/view/fwd/job/gluegen/518/",
  "builtOn" : "linux64-AMD58xx-ubuntu10-jogamp-x32-sgothel-001",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/build-test.xml"
        ],
        "commitId" : "227ad20f6bf10d5d28073dfbd3fac363e3a09531",
        "timestamp" : 1331343061000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "android remote adb test fixes: (1) Add connect; (2) Remove overriding explicit BOOTCLASSPATH, use default.\u000a\u000a(2) Android 4.0.3 LEB 12.02 / Pandaboard requires the original BOOTCLASSPATH,\u000a    otherwise dependencies are broken and dalvikvm crashes.\u000a\u000a    Adding 'our' ant-junit-all.apk to 'complete' the set of our required junit/ant classes\u000a    seems to work well on V. 2.3.6 (Samsung Galaxy S) and V. 4.0.3.\u000a",
        "date" : "2012-03-10T02:31:01+0100",
        "id" : "227ad20f6bf10d5d28073dfbd3fac363e3a09531",
        "msg" : "android remote adb test fixes: (1) Add connect; (2) Remove overriding",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/build-test.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/java/com/jogamp/common/util/IOUtil.java",
          "src/java/com/jogamp/common/util/VersionUtil.java",
          "src/junit/com/jogamp/common/util/TestIOUtil01.java"
        ],
        "commitId" : "24f8694a188b4a5255d4ac4f8b49982bd8ad3228",
        "timestamp" : 1331343149000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Stabilize open InputStream's / Closeable's: Decorate w/ try-finally and close within the latter\u000a",
        "date" : "2012-03-10T02:32:29+0100",
        "id" : "24f8694a188b4a5255d4ac4f8b49982bd8ad3228",
        "msg" : "Stabilize open InputStream's / Closeable's: Decorate w/ try-finally and",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/java/com/jogamp/common/util/IOUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/java/com/jogamp/common/util/VersionUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/junit/com/jogamp/common/util/TestIOUtil01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/scripts/make.gluegen.all.android-armv7-cross.sh"
        ],
        "commitId" : "cb343deee37687519103112f637a3dc60d0d97c2",
        "timestamp" : 1331343173000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "android remote test script: panda02 is my default test machine\u000a",
        "date" : "2012-03-10T02:32:53+0100",
        "id" : "cb343deee37687519103112f637a3dc60d0d97c2",
        "msg" : "android remote test script: panda02 is my default test machine",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/scripts/make.gluegen.all.android-armv7-cross.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/lib/gluegen-cpptasks-linux-armv7.xml",
          "make/gluegen-cpptasks.xml",
          "make/lib/gluegen-cpptasks-android-armv7.xml"
        ],
        "commitId" : "e617834dcabdb83f383a2d2a82fcd2d9d987c154",
        "timestamp" : 1331354400000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Allow GLUEGEN_CPPTASKS_FILE to be relative to gluegen.root ; Load gluegen-cpptasks-base.xml in custom files w/ gluegen.root.abs-path.\u000a",
        "date" : "2012-03-10T05:40:00+0100",
        "id" : "e617834dcabdb83f383a2d2a82fcd2d9d987c154",
        "msg" : "Allow GLUEGEN_CPPTASKS_FILE to be relative to gluegen.root ; Load",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/lib/gluegen-cpptasks-linux-armv7.xml"
          },
          {
            "editType" : "edit",
            "file" : "make/gluegen-cpptasks.xml"
          },
          {
            "editType" : "edit",
            "file" : "make/lib/gluegen-cpptasks-android-armv7.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/gluegen-cpptasks.xml"
        ],
        "commitId" : "8d5786376337bcd40095c5a4d13e40696021e311",
        "timestamp" : 1331355439000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Fix rel GLUEGEN_CPPTASKS_FILE commit e617834dcabdb83f383a2d2a82fcd2d9d987c154\u000a",
        "date" : "2012-03-10T05:57:19+0100",
        "id" : "8d5786376337bcd40095c5a4d13e40696021e311",
        "msg" : "Fix rel GLUEGEN_CPPTASKS_FILE commit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/gluegen-cpptasks.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/java/com/jogamp/common/jvm/JNILibLoaderBase.java",
          "src/java/com/jogamp/common/util/IOUtil.java",
          "src/java/com/jogamp/common/util/locks/Lock.java",
          "src/java/com/jogamp/common/os/Platform.java",
          "src/java/jogamp/common/PropertyAccess.java",
          "src/java/com/jogamp/gluegen/Logging.java",
          "src/java/jogamp/common/Debug.java"
        ],
        "commitId" : "bab77b637e7cdd327de5f66989fcbfc0298b9b88",
        "timestamp" : 1331613351000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Intro.: PropertyAccess ; Added safe PropertyAccess for JNILibLoaderBase, Platform, IOUtil, ..\u000a\u000a- Intro.: PropertyAccess\u000a  - Base class of all Debug impl, reduces redundancies.\u000a\u000a  - jnlpAlias'ed trusted property is queried within local AccessControlContext\u000a    to avoid 'JRE' implementation differences (should not be required).\u000a\u000a  - throw NPE and IllegalArgumentException for invalid property key\u000a\u000a- Added safe PropertyAccess\u000a  - JNILibLoaderBase: sun.jnlp.applet.launcher\u000a  - Platform: jogamp.gluegen.UseTempJarCache\u000a  - IOUtil: java.io.tmpdir\u000a",
        "date" : "2012-03-13T05:35:51+0100",
        "id" : "bab77b637e7cdd327de5f66989fcbfc0298b9b88",
        "msg" : "Intro.: PropertyAccess ; Added safe PropertyAccess for JNILibLoaderBase,",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/java/com/jogamp/common/os/Platform.java"
          },
          {
            "editType" : "edit",
            "file" : "src/java/com/jogamp/common/jvm/JNILibLoaderBase.java"
          },
          {
            "editType" : "edit",
            "file" : "src/java/com/jogamp/common/util/IOUtil.java"
          },
          {
            "editType" : "add",
            "file" : "src/java/jogamp/common/PropertyAccess.java"
          },
          {
            "editType" : "edit",
            "file" : "src/java/com/jogamp/common/util/locks/Lock.java"
          },
          {
            "editType" : "edit",
            "file" : "src/java/com/jogamp/gluegen/Logging.java"
          },
          {
            "editType" : "edit",
            "file" : "src/java/jogamp/common/Debug.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/java/com/jogamp/common/jvm/JNILibLoaderBase.java",
          "src/java/com/jogamp/common/util/IOUtil.java",
          "src/java/com/jogamp/common/util/SecurityUtil.java",
          "src/java/com/jogamp/common/util/locks/Lock.java",
          "src/java/com/jogamp/common/util/cache/TempJarCache.java",
          "src/java/com/jogamp/common/os/Platform.java",
          "src/java/jogamp/common/PropertyAccess.java",
          "src/java/com/jogamp/common/util/cache/TempFileCache.java",
          "src/java/com/jogamp/gluegen/Logging.java",
          "src/java/com/jogamp/common/util/PropertyAccess.java",
          "src/java/jogamp/common/Debug.java",
          "src/java/com/jogamp/common/util/JarUtil.java"
        ],
        "commitId" : "f4ac27e177f6deb444280d3b375e7d343e38bd08",
        "timestamp" : 1331661414000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "SecurityUtil: Generalize cert validation and AccessControlContext query; PropertyAccess: Fix security code, grant access to common 'trusted' properties\u000a\u000a- SecurityUtil\u000a  - Generalize cert validation for JAR and property access\u000a  - Grant access to common AccessControlContext for 'same' cert\u000a\u000a- PropertyAccess:\u000a  - Fix security code: Passing the current AccessControlContext from the caller\u000a    didn't include priviledges.\u000a\u000a  - Grant access to common 'trusted' properties,\u000a    which removes the need of passing the AccessControlContext for general properties\u000a    like 'jnlp.', 'jogamp.' ..\u000a\u000a  - Enable registering 'trusted' properties, when caller's cert is 'same'\u000a",
        "date" : "2012-03-13T18:56:54+0100",
        "id" : "f4ac27e177f6deb444280d3b375e7d343e38bd08",
        "msg" : "SecurityUtil: Generalize cert validation and AccessControlContext query;",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/java/com/jogamp/common/jvm/JNILibLoaderBase.java"
          },
          {
            "editType" : "edit",
            "file" : "src/java/com/jogamp/gluegen/Logging.java"
          },
          {
            "editType" : "edit",
            "file" : "src/java/com/jogamp/common/util/cache/TempFileCache.java"
          },
          {
            "editType" : "edit",
            "file" : "src/java/com/jogamp/common/util/IOUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/java/com/jogamp/common/util/cache/TempJarCache.java"
          },
          {
            "editType" : "add",
            "file" : "src/java/com/jogamp/common/util/PropertyAccess.java"
          },
          {
            "editType" : "delete",
            "file" : "src/java/jogamp/common/PropertyAccess.java"
          },
          {
            "editType" : "edit",
            "file" : "src/java/jogamp/common/Debug.java"
          },
          {
            "editType" : "edit",
            "file" : "src/java/com/jogamp/common/os/Platform.java"
          },
          {
            "editType" : "edit",
            "file" : "src/java/com/jogamp/common/util/JarUtil.java"
          },
          {
            "editType" : "add",
            "file" : "src/java/com/jogamp/common/util/SecurityUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/java/com/jogamp/common/util/locks/Lock.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/java/com/jogamp/common/util/IOUtil.java",
          "src/java/com/jogamp/common/util/PropertyAccess.java",
          "src/java/jogamp/common/Debug.java"
        ],
        "commitId" : "eedb4b530fb83fc59a26962bcf7847a1404092a0",
        "timestamp" : 1331662360000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "PropertyAccess: Push down 'isPropertyDefined(final String property, final boolean jnlpAlias)' for trusted properties\u000a\u000aThe method shall be called by the respective Debug specialization, which registers the trusted property prefix.\u000a",
        "date" : "2012-03-13T19:12:40+0100",
        "id" : "eedb4b530fb83fc59a26962bcf7847a1404092a0",
        "msg" : "PropertyAccess: Push down 'isPropertyDefined(final String property,",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/java/com/jogamp/common/util/IOUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/java/com/jogamp/common/util/PropertyAccess.java"
          },
          {
            "editType" : "edit",
            "file" : "src/java/jogamp/common/Debug.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/resources/android/AndroidManifest-Launcher.xml",
          "make/resources/android/res/values/styles.xml",
          "make/resources/android/AndroidManifest-Test.xml",
          "src/java/jogamp/android/launcher/ActivityLauncher.java",
          "make/build.xml",
          "make/build-test.xml",
          "src/java/jogamp/android/launcher/LauncherUtil.java",
          "make/resources/android/res/values/colors.xml",
          "make/resources/android/AndroidManifest-CompileTime.xml",
          "make/resources/android/AndroidManifest-Runtime.xml",
          "src/java/jogamp/android/launcher/LauncherMain.java",
          "src/java/jogamp/android/launcher/ClassLoaderUtil.java",
          "src/java/jogamp/android/launcher/LauncherTempFileCache.java",
          "make/resources/android/res/values/strings.xml"
        ],
        "commitId" : "0cfc7847c58b51c9a26b50d905b592d1fc4c8578",
        "timestamp" : 1331759241000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Android: New ActivityLauncher (jogamp.android-launcher.apk)\u000a\u000aActivityLauncher provides delegating Activities, allowing the user to:\u000a\u000a  - daisy chain custom APK classes and native libraries to the classpath\u000a\u000a  - name one custom activity which gets delegated to, the downstream activity\u000a\u000aOverview:\u000a\u000a  [User:a1] -- (usr-data) --> [Launcher] -> [User:a2] + using [other packages..]\u000a\u000a[User APK]   - The user provided APK\u000a[JogAmp APK] - JogAmp APKs\u000a\u000a[User:a1]    - The initial user activity, which starts the [Launcher].\u000a               Providing data to [Launcher]: [User:a2], [User APK]\u000a               Resides in [User APK]\u000a\u000a[User:a2]    - The actual downstream 'real' activity, spoiled w/ full fledged ClassLoader\u000a               having access to all packages as requested, ie. [User APK], ..\u000a               Resides in [User APK]\u000a\u000a[Launcher]   - The launcher activity.\u000a               Gets called by [User:a1].\u000a               Creates a new ClassLoader, daisy chainging all requested APKs.\u000a               Instantiates [User:a2] w/ new ClassLoader.\u000a               Delegates all calls to [User:a2].\u000a               Resides in [JogAmp APK].\u000a",
        "date" : "2012-03-14T22:07:21+0100",
        "id" : "0cfc7847c58b51c9a26b50d905b592d1fc4c8578",
        "msg" : "Android: New ActivityLauncher (jogamp.android-launcher.apk)",
        "paths" : [
          {
            "editType" : "add",
            "file" : "make/resources/android/res/values/styles.xml"
          },
          {
            "editType" : "add",
            "file" : "make/resources/android/res/values/colors.xml"
          },
          {
            "editType" : "add",
            "file" : "src/java/jogamp/android/launcher/LauncherUtil.java"
          },
          {
            "editType" : "add",
            "file" : "make/resources/android/AndroidManifest-Launcher.xml"
          },
          {
            "editType" : "add",
            "file" : "src/java/jogamp/android/launcher/ActivityLauncher.java"
          },
          {
            "editType" : "delete",
            "file" : "make/resources/android/AndroidManifest-CompileTime.xml"
          },
          {
            "editType" : "edit",
            "file" : "make/build.xml"
          },
          {
            "editType" : "add",
            "file" : "src/java/jogamp/android/launcher/ClassLoaderUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "make/resources/android/AndroidManifest-Runtime.xml"
          },
          {
            "editType" : "edit",
            "file" : "make/build-test.xml"
          },
          {
            "editType" : "edit",
            "file" : "make/resources/android/AndroidManifest-Test.xml"
          },
          {
            "editType" : "add",
            "file" : "src/java/jogamp/android/launcher/LauncherMain.java"
          },
          {
            "editType" : "add",
            "file" : "src/java/jogamp/android/launcher/LauncherTempFileCache.java"
          },
          {
            "editType" : "edit",
            "file" : "make/resources/android/res/values/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/java/jogamp/common/os/android/StaticContext.java",
          "src/java/com/jogamp/common/os/AndroidVersion.java",
          "src/java/com/jogamp/common/nio/AbstractBuffer.java",
          "make/resources/assets/gluegen/info.txt",
          "src/junit/com/jogamp/common/net/AssetURLConnectionRegisteredTest.java",
          "make/scripts/runtest.sh",
          "src/java/com/jogamp/common/net/GenericURLStreamHandlerFactory.java",
          "src/junit/com/jogamp/common/net/AssetURLConnectionUnregisteredTest.java",
          "make/build.xml",
          "make/scripts/adb-uninstall-all.sh",
          "src/java/com/jogamp/common/net/AssetURLContext.java",
          "src/java/jogamp/common/os/android/GluegenVersionActivity.java",
          "src/java/com/jogamp/common/net/AssetURLStreamHandler.java",
          "src/java/com/jogamp/common/net/PiggybackURLConnection.java",
          "src/java/jogamp/android/launcher/LauncherMain.java",
          "src/junit/com/jogamp/common/util/TestIOUtil01.java",
          "src/java/jogamp/android/launcher/ClassLoaderUtil.java",
          "make/gluegen-cpptasks.xml",
          "src/java/com/jogamp/common/net/asset/Handler.java",
          "make/resources/assets-test/com/jogamp/common/net/data/RelativeData.txt",
          "make/jogamp-androidtasks.xml",
          "src/java/jogamp/android/launcher/TraceDexClassLoader.java",
          "src/java/com/jogamp/common/net/PiggybackURLContext.java",
          "src/java/com/jogamp/common/net/AssetURLConnection.java",
          "make/resources/assets-test/gluegen-test/info.txt",
          "src/java/jogamp/android/launcher/ActivityLauncher.java",
          "make/build-test.xml",
          "src/java/com/jogamp/common/util/IOUtil.java",
          "make/resources/assets-test/com/jogamp/common/net/data/AssetURLConnectionTest.txt",
          "src/junit/com/jogamp/common/net/URLCompositionTest.java",
          "src/java/jogamp/android/launcher/AssetDexClassLoader.java",
          "make/scripts/setenv-build-jogl-x86_64.sh",
          "src/junit/com/jogamp/common/net/AssetURLConnectionBase.java"
        ],
        "commitId" : "235f8b1cbff8ed13071d5c19c0be492c0b25cb78",
        "timestamp" : 1332011749000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Add 'asset' URLConnection; IOUtil uses URLConnection / incr. effeciency; Android ClassLoaderUtil cleanup;\u000a\u000a- Add 'asset' URLConnection\u000a  - Please read API doc 'PiggybackURLConnection' and 'AssetURLConnection'\u000a\u000a  - Solves generic resource handling where platform locations may differ,\u000a    ie ClassLoader lookup on Android in the 'assets/' subfolder.\u000a\u000a  - New Android 'AssetDexClassLoader' uses 'assets/' folder for findResource(..)\u000a\u000a  - aapt.signed (our APK ant task)\u000a    - uses 'assets/' folder\u000a\u000a    - adds the 'assetsdir' attribute allowing to copy other assets into the APK\u000a\u000a- IOUtil uses URLConnection / incr. effeciency\u000a  - using URLConnection on all getResource(..) since URL\u000a    is connected anyways for validation and URLConnection can be used by caller right away\u000a\u000a  - String getRelativeOf(URL, String) -> URL getRelativeOf(URL, String)\u000a    - preserves scheme, authority, etc\u000a    - simple parentOf handling, more efficient\u000a\u000a  - reusing new 'asset' protocol impl.\u000a\u000a- Android ClassLoaderUtil cleanup;\u000a  - Use createClassLoader(..) impl for build-in static jogamp and user APKs,\u000a    which removes code redundancy\u000a\u000aTests: New code path, especially 'assets' are covered by new unit tests, no regressions on Linux.\u000a",
        "date" : "2012-03-17T20:15:49+0100",
        "id" : "235f8b1cbff8ed13071d5c19c0be492c0b25cb78",
        "msg" : "Add 'asset' URLConnection; IOUtil uses URLConnection / incr. effeciency;",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/junit/com/jogamp/common/net/URLCompositionTest.java"
          },
          {
            "editType" : "edit",
            "file" : "src/java/jogamp/common/os/android/GluegenVersionActivity.java"
          },
          {
            "editType" : "add",
            "file" : "src/java/jogamp/android/launcher/AssetDexClassLoader.java"
          },
          {
            "editType" : "add",
            "file" : "src/java/com/jogamp/common/net/PiggybackURLConnection.java"
          },
          {
            "editType" : "add",
            "file" : "src/java/com/jogamp/common/net/PiggybackURLContext.java"
          },
          {
            "editType" : "edit",
            "file" : "src/java/jogamp/common/os/android/StaticContext.java"
          },
          {
            "editType" : "edit",
            "file" : "make/build-test.xml"
          },
          {
            "editType" : "add",
            "file" : "src/java/com/jogamp/common/net/AssetURLContext.java"
          },
          {
            "editType" : "edit",
            "file" : "make/gluegen-cpptasks.xml"
          },
          {
            "editType" : "add",
            "file" : "src/java/com/jogamp/common/net/AssetURLConnection.java"
          },
          {
            "editType" : "edit",
            "file" : "src/java/com/jogamp/common/nio/AbstractBuffer.java"
          },
          {
            "editType" : "add",
            "file" : "make/resources/assets-test/com/jogamp/common/net/data/RelativeData.txt"
          },
          {
            "editType" : "add",
            "file" : "src/junit/com/jogamp/common/net/AssetURLConnectionUnregisteredTest.java"
          },
          {
            "editType" : "edit",
            "file" : "src/junit/com/jogamp/common/util/TestIOUtil01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/java/com/jogamp/common/os/AndroidVersion.java"
          },
          {
            "editType" : "edit",
            "file" : "src/java/jogamp/android/launcher/ActivityLauncher.java"
          },
          {
            "editType" : "add",
            "file" : "make/resources/assets-test/com/jogamp/common/net/data/AssetURLConnectionTest.txt"
          },
          {
            "editType" : "edit",
            "file" : "src/java/jogamp/android/launcher/LauncherMain.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/setenv-build-jogl-x86_64.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/java/jogamp/android/launcher/ClassLoaderUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/runtest.sh"
          },
          {
            "editType" : "add",
            "file" : "src/junit/com/jogamp/common/net/AssetURLConnectionRegisteredTest.java"
          },
          {
            "editType" : "add",
            "file" : "make/resources/assets/gluegen/info.txt"
          },
          {
            "editType" : "add",
            "file" : "src/java/com/jogamp/common/net/AssetURLStreamHandler.java"
          },
          {
            "editType" : "add",
            "file" : "src/java/com/jogamp/common/net/asset/Handler.java"
          },
          {
            "editType" : "edit",
            "file" : "src/java/com/jogamp/common/util/IOUtil.java"
          },
          {
            "editType" : "add",
            "file" : "src/java/com/jogamp/common/net/GenericURLStreamHandlerFactory.java"
          },
          {
            "editType" : "edit",
            "file" : "make/build.xml"
          },
          {
            "editType" : "add",
            "file" : "make/resources/assets-test/gluegen-test/info.txt"
          },
          {
            "editType" : "edit",
            "file" : "make/jogamp-androidtasks.xml"
          },
          {
            "editType" : "add",
            "file" : "src/java/jogamp/android/launcher/TraceDexClassLoader.java"
          },
          {
            "editType" : "add",
            "file" : "src/junit/com/jogamp/common/net/AssetURLConnectionBase.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/adb-uninstall-all.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/Manifest-android-launcher"
        ],
        "commitId" : "f34a002adf9bf799ebc748578fddb7ec58ac589b",
        "timestamp" : 1332055198000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Adding missing file .. oops\u000a",
        "date" : "2012-03-18T08:19:58+0100",
        "id" : "f34a002adf9bf799ebc748578fddb7ec58ac589b",
        "msg" : "Adding missing file .. oops",
        "paths" : [
          {
            "editType" : "add",
            "file" : "make/Manifest-android-launcher"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/scripts/adb-reinstall-all-armv7.sh",
          "make/scripts/adb-install-all-armv7.sh"
        ],
        "commitId" : "6e732314105b12ef92a09c1db3823a55e9a39f4f",
        "timestamp" : 1332055251000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Added adb install files\u000a",
        "date" : "2012-03-18T08:20:51+0100",
        "id" : "6e732314105b12ef92a09c1db3823a55e9a39f4f",
        "msg" : "Added adb install files",
        "paths" : [
          {
            "editType" : "add",
            "file" : "make/scripts/adb-install-all-armv7.sh"
          },
          {
            "editType" : "add",
            "file" : "make/scripts/adb-reinstall-all-armv7.sh"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
      "fullName" : "Sven Gothel"
    }
  ],
  "runs" : [
    {
      "number" : 518,
      "url" : "https://jogamp.org/chuck/view/fwd/job/gluegen/label=linux-x86_64/518/"
    },
    {
      "number" : 518,
      "url" : "https://jogamp.org/chuck/view/fwd/job/gluegen/label=macos-x86_64/518/"
    },
    {
      "number" : 518,
      "url" : "https://jogamp.org/chuck/view/fwd/job/gluegen/label=windows-x86_64/518/"
    }
  ]
}