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

Changes

Summary

  1. Add 'TestJarsInJar.jar' test JAR file for upcoming JarUtil tests (Jar in (details)
  2. JarUtil: Improve Robustness (Bug 522) and API doc, prepare for (details)
  3. JarUtil (Fix Bug 522): Handle case where given URL doesn't contain any (details)
Commit 60ea6727f1a089f6afd17fcea3bd7d29353af9b4 by Sven Gothel
Add 'TestJarsInJar.jar' test JAR file for upcoming JarUtil tests (Jar in Jar).
The file was addedtest/TestJarsInJar/MANIFEST.MF (diff)
The file was modifiedmake/build-test.xml (diff)
The file was addedtest/TestJarsInJar/make.sh (diff)
The file was addedtest/TestJarsInJar/ClassInJar2.java (diff)
The file was addedmake/lib/TestJarsInJar.jar (diff)
The file was modifiedmake/scripts/runtest.sh (diff)
The file was addedtest/TestJarsInJar/ClassInJar0.java (diff)
The file was addedtest/TestJarsInJar/ClassInJar1.java (diff)
Commit 04391a3f417e10e1b6dafbd8becc63659af633c3 by Sven Gothel
JarUtil: Improve Robustness (Bug 522) and API doc, prepare for Jar-In-Jar. Add unit test.

Misc.:
  - IOUtil: Add toURL* methods
  - TempJarCache: Add 'URL getResource(String)'
The file was modifiedsrc/java/com/jogamp/common/jvm/JNILibLoaderBase.java (diff)
The file was modifiedsrc/java/com/jogamp/common/util/cache/TempJarCache.java (diff)
The file was modifiedsrc/java/com/jogamp/common/util/JarUtil.java (diff)
The file was addedsrc/junit/com/jogamp/common/util/TestJarUtil.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/junit/com/jogamp/common/util/TestTempJarCache.java (diff)
Commit c6091024864e0fc9069683534370306838eb371a by Sven Gothel
JarUtil (Fix Bug 522): Handle case where given URL doesn't contain any '/' (eg. Eclipse 'rsrc:' case)

- Use ':' as 'path' delimiter in case no path via '/' is given.

+++

Manual tested w/ Eclipse:

Preparations:
===============

1) Set up a vanilla eclipse (3.7.0) workspace

2) Add the JOGL User Library:
  - Window.Preference
   - Java.Build_Path.User_Libraries:
     + JOGL
        + gluegen-rt.jar
        + jogl.all.jar
        + gluegen-rt-natives-linux-amd64.jar
        + jogl-all-natives-linux-amd64.jar

        You may add all other native JARs here.
        Note that these are not required in the CLASSPATH by JOGL,
        however, they are required by Eclipse to export your project as a Runnable JAR File.

3) New test project
  -  Right-click your project in the Package Explorer and click "Properties".
       - Select "Java Build Path" and click the "Libraries" tab.
          + JOGL
  - Add some simple code ..
  - Run as Java Application ..

Test-1:
=========

Export
  - Right-click your project in the Package Explorer and click "Export"
    - Select Java.Runnable_JAR_file
      + Launch configuration
      + some destination path
      + Library handling:
        Copy required libraries into a sub-folder next to the generated JAR

Result: Works!

./lala01.jar
./lala01_lib/jogl.all.jar
./lala01_lib/jogl-all-natives-linux-amd64.jar
./lala01_lib/... etc ..

Test-2:
=========

Export
  - Right-click your project in the Package Explorer and click "Export"
    - Select Java.Runnable_JAR_file
      + Launch configuration
      + some destination path
      + Library handling:
        Package required libraries into generated JAR

Result: Works!

./lala02.jar:
  Manifest-Version: 1.0
  Rsrc-Class-Path: ./ gluegen-rt-natives-linux-amd64.jar gluegen-rt.jar
                      jogl-all-natives-linux-amd64.jar jogl.all.jar
  Class-Path: .
  Rsrc-Main-Class: Test01
  Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader
The file was modifiedsrc/java/com/jogamp/common/util/JarUtil.java (diff)