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

Changes

Summary

  1. Bug 1219: Sporadic failure to determine 'executable temp base (details)
  2. Bug 1219: Use Win32 API for test PE exe, not console (details)
  3. Bug 1219: IOUtil.testDirExe: Satisfactory when executed, more debug (details)
  4. Bug 1219: Fix IOUtil.StreamMonitor EOS handling (details)
  5. Bug 1219: IOUtil.testDirExe: Disable 'existingExe' DEBUG_EXE feature by (details)
  6. Bug 1219: IOUtil.testDirExe: Issue Process.destroy() in finalize block (details)
  7. Bug 1231: Add Windows x86_64 test executable ; Use 'WinMain' for (details)
  8. Bug 1231: Usability of CustomCompress API incl zip-level; Replace (details)
  9. Bug 1237 - Clarify IOUtil.getResource(..) for better efficiency, i.e. (details)
  10. Bug 1237: Minor Cleanup: AssetURLContext and IOUtil.getResource(..) (details)
  11. Bug 1243 - Fix IOUtil.cleanPathString(..) special case ; Allow IOUtil (details)
  12. Refine new API methods: ExceptionUtils, Uri (Add @since, refine (details)
  13. Bump semver to commit 4f50b49c955f2bde2bb7eb4c7493206ec6bb1f2f (details)
Commit 0ebc5398fa20d23214a37dc4930a1fa1617293c7 by Sven Gothel
Bug 1219: Sporadic failure to determine 'executable temp base
directory' on Windows using 'exe-windows-i586-268b.bin' (Fix attempt
#1)
Replacing the tiny 268 byte sized 'exe-windows-i586-268b.bin' PE file
w/ a regular 2048 byte sized PE file 'exe-windows-i386-2048b.bin'.
File is produced via:
c:\mingw\bin\gcc -nodefaultlibs -nostdlib -s -Os -o tiny.exe tiny.c
Adding the 305 byte sized gzipped version
'exe-windows-i386-2048b.bin.305b.gz' to the gluegen-rt jar file to
reduce the payload for non Windows platforms.
Adding special property 'jogamp.debug.IOUtil.Exe' to debug testing the
exe file, enable via '-Djogamp.debug.IOUtil.Exe'.
Passes here on all Windows machines, however, the prev. one worked here
as well.
The file was addedsrc/native/tinype/tiny.exe
The file was removedsrc/java/com/jogamp/common/util/bin/exe-windows-i586-268b.bin
The file was addedsrc/native/tinype/tiny.c
The file was modifiedmake/scripts/java-win32.bat (diff)
The file was modifiedmake/scripts/runtest-x64.bat (diff)
The file was modifiedmake/scripts/runtest.sh (diff)
The file was addedsrc/native/tinype/tiny.exe.gz
The file was modifiedsrc/java/com/jogamp/common/util/IOUtil.java (diff)
The file was addedsrc/native/tinype/make.bat
The file was modifiedmake/scripts/java-win64.bat (diff)
The file was addedsrc/java/com/jogamp/common/util/bin/exe-windows-i386-2048b.bin.305b.gz
The file was modifiedmake/scripts/runtest-x32.bat (diff)
Commit b17ba1462cc4bb96be52f378dedafb50a3bc13f1 by Sven Gothel
Bug 1219: Use Win32 API for test PE exe, not console
Previous test PE exe, commit 0ebc5398fa20d23214a37dc4930a1fa1617293c7,
was a console exe. A console exe opens a new console window if not
being launched from one.
New test PE exe is produced w/ '-mwindows', i.e. for Win32 API w/o a
console.
The file was addedsrc/native/tinype/make.sh
The file was modifiedsrc/native/tinype/tiny.c (diff)
The file was addedsrc/java/com/jogamp/common/util/bin/exe-windows-i386-2048b.bin.316b.gz
The file was removedsrc/java/com/jogamp/common/util/bin/exe-windows-i386-2048b.bin.305b.gz
The file was removedsrc/native/tinype/tiny.exe.gz
The file was modifiedsrc/java/com/jogamp/common/util/IOUtil.java (diff)
The file was removedsrc/native/tinype/make.bat
The file was removedsrc/native/tinype/tiny.exe
Commit a8db919494e934f768ee8adb0d0bad75fa390e62 by Sven Gothel
Bug 1219: IOUtil.testDirExe: Satisfactory when executed, more debug
options
IOUtil.testDirExe():
- Satisfactory when executed
   Failure to execute produce an IOException right at
ProcessBuilder.start().
   Hence we can allow an unexpected process exit value,
   since we only want to learn whether executable files are allowed.
  - More debug options
   DEBUG_EXE:          'jogamp.debug.IOUtil.Exe'
   DEBUG_EXE_NOSTREAM: 'jogamp.debug.IOUtil.Exe.NoStream'
    - if DEBUG_EXE
     - a pre-existing 'jogamp_exe_tst'+<SUFFIX> will be used as-is.
      - the test-exe will not be deleted
      - StreamMonitor is being used to dump stdout/stderr
       if !DEBUG_EXE_NOSTREAM.
The file was addeddoc/Implementation/IOUtil.testDirExe/win32-noexec-invalid_executable.log
The file was modifiedsrc/java/com/jogamp/common/util/IOUtil.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestPlatform01.java (diff)
The file was modifiedmake/scripts/runtest.sh (diff)
The file was modifiedsrc/native/tinype/make.sh (diff)
The file was addeddoc/Implementation/IOUtil.testDirExe/win32-noexec-SoftwareRestrictionPolicies.log
The file was addeddoc/Implementation/IOUtil.testDirExe/win32-noexec-ntfs_attribs_deny_execute_file.log
The file was addeddoc/Implementation/IOUtil.testDirExe/linux-noexec-file_attribs.log
The file was addedsrc/native/tinype/tiny2.c
Commit 6c45f1dbeb875790056aef424b91b54440790a2b by Sven Gothel
Bug 1219: Fix IOUtil.StreamMonitor EOS handling
- Make StreamMonitor a daemon thread, i.e. not hindering VM from exit
- Earmark each InputStream's EOS state
and only attempt to readByte if !eos
- End loop and hence the thread if all InputStream
have reached EOS.
- Don't close the InputStream.
Closing the InputStream is expected to be done
by the owner, otherwise no EOS could even be reached!
- Flush the output PrintStream at thread exit
The file was modifiedsrc/java/com/jogamp/common/util/IOUtil.java (diff)
Commit 0f08d051974d840ca898d7d0b888a679e4dee248 by Sven Gothel
Bug 1219: IOUtil.testDirExe: Disable 'existingExe' DEBUG_EXE feature by
hardcoded 'DEBUG_EXE_EXISTING_FILE = false'
This is required for security, i.e. not allowing to execute any
pre-existing files!
In case we need to manually debug this issue, we can re-enable it
manually and locally, but not in public builds!
The file was modifiedsrc/java/com/jogamp/common/util/IOUtil.java (diff)
Commit be9614d73e69159fbba5b458a4450b5df3a6613b by Sven Gothel
Bug 1219: IOUtil.testDirExe: Issue Process.destroy() in finalize block
to ensure launched native exe process terminates.
See Bug 1219 comment 58: It seems that on some Windows platforms the
launched native process using our test-exe keeps running even though we
issued Process.waitFor().
Hence we issue Process.destroy() in the finalize block to at least
attempt to terminate it.
Note: The Process implementation is platform specific and may vary.
The file was modifiedmake/scripts/java-win64.bat (diff)
The file was modifiedsrc/java/com/jogamp/common/util/IOUtil.java (diff)
Commit 0e723ff0866919cbc4ddfc3d7773c3485252eba3 by Sven Gothel
Bug 1231: Add Windows x86_64 test executable ; Use 'WinMain' for
Windows test-executable ; Use CustomInflate for Performance
- Use 'WinMain' for Windows test-executable
This may have little difference than using std 'main' entry
- Add Windows x86_64 test executable
Since the reporter claims the test executable works well
on Windows i386, maybe utilizing a x86_64 test executable
on same VM fixes the issue
- Use CustomInflate for Performance
- Skips GZIP header
- Adds own custom header [magic, deflate-size, inflate-size]
- Own header allows simplified I/O read and deflation
The file was addedsrc/java/com/jogamp/common/util/CustomCompress.java
The file was addedsrc/java/com/jogamp/common/util/bin/exe-windows-i386.defl
The file was addedsrc/junit/com/jogamp/common/util/CustomDeflate.java
The file was modifiedsrc/native/tinype/tiny2.c (diff)
The file was modifiedsrc/java/com/jogamp/common/util/IOUtil.java (diff)
The file was addedsrc/java/com/jogamp/common/util/bin/exe-windows-x86_64.defl
The file was addedsrc/junit/com/jogamp/common/util/CustomInflate.java
The file was removedsrc/java/com/jogamp/common/util/bin/exe-windows-i386-2048b.bin.316b.gz
The file was modifiedsrc/native/tinype/make.sh (diff)
The file was modifiedsrc/native/tinype/tiny.c (diff)
Commit a1009b450e68c083c0d3c56129602697a4f674d9 by Sven Gothel
Bug 1231: Usability of CustomCompress API incl zip-level; Replace
test-exe deflated files w/ zip-level 9
The file was modifiedsrc/java/com/jogamp/common/util/bin/exe-windows-x86_64.defl (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/CustomDeflate.java (diff)
The file was modifiedsrc/java/com/jogamp/common/util/CustomCompress.java (diff)
The file was modifiedsrc/java/com/jogamp/common/util/bin/exe-windows-i386.defl (diff)
Commit d78bb1be0a6290cb94918b21865a023c01825048 by Sven Gothel
Bug 1237 - Clarify IOUtil.getResource(..) for better efficiency, i.e.
allow caller to skip relative futile lookup
IOUtil.getResource(..) and IOUtil.ClassResources, needs more clarity.
ClassLoader shall be passed explicitly next to the optional relative
context Class instance.
This allows better efficiency, i.e. caller can pass ClassLoader but
skip a possible relative lookup, if not existing.
The file was modifiedsrc/junit/com/jogamp/common/util/TestIOUtil01.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/net/AssetURLConnectionUnregisteredTest.java (diff)
The file was modifiedsrc/java/com/jogamp/common/util/IOUtil.java (diff)
Commit 48cef027ec727d3e03b78f577208d1ce10b705d1 by Sven Gothel
Bug 1237: Minor Cleanup: AssetURLContext and IOUtil.getResource(..)
DEBUG Messages
The file was modifiedsrc/java/com/jogamp/common/net/AssetURLContext.java (diff)
The file was modifiedsrc/java/com/jogamp/common/util/IOUtil.java (diff)
Commit 026875dd5256051d4e3504f1d9b01f7ce2bb70ff by Sven Gothel
Bug 1243 - Fix IOUtil.cleanPathString(..) special case ; Allow IOUtil
and Uri to handle relative path
Fix IOUtil.cleanPathString(..) special case:
Special case '/a/./../b' -> '/b'
requires to resolve './' before '../'.
Allow IOUtil and Uri to handle relative path:
- IOUtil.getParentOf(..)
- IOUtil.cleanPathString(..)
Handle cases:
  'a/./../b' -> 'b'
  '.././b' -> '../b'
- Uri: Handle null scheme
The file was modifiedsrc/java/com/jogamp/common/util/IOUtil.java (diff)
The file was modifiedsrc/java/com/jogamp/common/net/Uri.java (diff)
The file was modifiedsrc/java/com/jogamp/common/ExceptionUtils.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/net/TestUri01.java (diff)
The file was modifiedmake/scripts/runtest.sh (diff)
The file was modifiedsrc/java/com/jogamp/common/util/JarUtil.java (diff)
The file was modifiedsrc/java/com/jogamp/common/util/SourcedInterruptedException.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestIOUtil01.java (diff)
Commit 1d5d6391f2da4cc200340448df88651cf26f1f66 by Sven Gothel
Refine new API methods: ExceptionUtils, Uri (Add @since, refine
arguments and API doc)
The file was modifiedsrc/java/com/jogamp/common/ExceptionUtils.java (diff)
The file was modifiedsrc/java/com/jogamp/common/net/Uri.java (diff)
The file was modifiedsrc/java/com/jogamp/common/util/SourcedInterruptedException.java (diff)
Commit 444af35253943cfa5bad88ff752981c311689e49 by Sven Gothel
Bump semver to commit 4f50b49c955f2bde2bb7eb4c7493206ec6bb1f2f
+    Fix JLS Binary Compat: Moving methods and fields upwards for
classes _and_ interfaces is OK
+
+    - We shall also travers all interfaces upwards
+    - All methods and fields found upwards must be tested for
compatibility as well!
+
+    Further:
+    - Add class-name to Field- and MethodInfo via new intermediate
AbstractMemberInfo.
+      The class-name is used to have allow differs to find a class
move upwards!
+
+    - Pretty printing of class move binary-compatible change
The file was modifiedmake/lib/semantic-versioning/VERSION (diff)
The file was modifiedmake/lib/semantic-versioning/semver-src.zip (diff)
The file was modifiedmake/lib/semantic-versioning/semver.jar (diff)