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

Changes

Summary

  1. Adding gcc linker cfg: '-static-libgcc' for all def. build platforms: (details)
  2. gluegen: trim trailing whitespace from GlueGenTask (details)
  3. gluegen: small cleanup and type annotation in GlueGenTask (details)
  4. gluegen: remove trailing whitespace from cgrammer Type class (details)
  5. gluegen: fix equals comparison in cgrammer Type class (details)
  6. gluegen: break apart a complex conditional in Type.equals() for (details)
  7. gluegen: remove trailing whitespace from psuedo-C parser (details)
  8. gluegen: simplify expression comparing against Boolean.TRUE (details)
  9. gluegen: conditional cleanup in Type.equals() (details)
  10. Intermediate revised Type.java edit before reducing (details)
  11. Reducing Type's equals (details)
  12. ProcAddressEmitter: Remove 'guessing' argument names from types, since (details)
  13. gluegen: generics annotations for various ArrayList/List use (details)
  14. gluegen: remove two fast-path tests that can never trigger (details)
  15. gluegen: replace Thread name with name of lock file in (details)
  16. Buffers: Add normalized put methods, i.e. incl. value range conversion; (details)
  17. Minor revert of clone replacement w/ copt-ctor of commit (details)
  18. Fix Buffers.copy<Type>Buffer[asByteBuffer](..): Reset position of the (details)
  19. Revert "Minor revert of clone replacement w/ copt-ctor of commit (details)
  20. Fix VersionNumber: Non digits cut off pattern was '\D.*' and cut off (details)
  21. VersionNumber: Remove printing Exception (was added for debugging (details)
  22. VersionNumber: Add API doc for string parsing (details)
  23. VersionNumber: API doc fix (details)
  24. Fix Bug 608: Push down TempJarCache.findLibrary(..) from (details)
  25. Adding com.jogamp.common.util.IntBitfield: Simple bitfield holder class (details)
  26. IntBitfield: Add API doc; Enhance put() method, return previous value to (details)
  27. IntIntHashMap: Add privileged for 'getDeclaredMethod(..)'; Add (details)
  28. Android Launcher: Fix ClassLoaderUtil's JNI lib-path determination, use (details)
  29. Android build scripts: Fix env. name ANDROID_SDK_HOME -> ANDROID_HOME (details)
  30. Complete commit 43163af2618a0aaa3cf41de8027ef402d7e89cc3 - (details)
Commit 5702746c390b93f1aa1df474429263f196b382fd by Sven Gothel
Adding gcc linker cfg: '-static-libgcc' for all def. build platforms:

- linker.cfg.linux
- linker.cfg.linux.x86
- linker.cfg.linux.amd64
- linker.cfg.linux.armv6
- linker.cfg.solaris
- linker.cfg.solaris.spacv9
- linker.cfg.solaris.amd64
- linker.cfg.macosx
- linker.cfg.linux64.mingw64
- linker.cfg.linux64.mingw32
- linker.cfg.win32.mingw32
- linker.cfg.win32.mingw64

- android.armv6
- android.armv7
- linux.armv6
- linux.armv6hf

These flags shall now go through autobuild and results will be validated,
i.e.:
  - working
  - memory footprint
The file was modifiedmake/lib/gluegen-cpptasks-android-armv7.xml (diff)
The file was modifiedmake/gluegen-cpptasks-base.xml (diff)
The file was modifiedmake/lib/gluegen-cpptasks-android-armv6.xml (diff)
The file was modifiedmake/lib/gluegen-cpptasks-linux-armv6.xml (diff)
The file was modifiedmake/lib/gluegen-cpptasks-linux-armv6hf.xml (diff)
Commit e8b97a64b88d5ec6e365a53b652f261506bcab9e by Harvey Harrison
gluegen: trim trailing whitespace from GlueGenTask

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
The file was modifiedsrc/java/com/jogamp/gluegen/ant/GlueGenTask.java (diff)
Commit 13969227d00910063c4f6c88a52293dacac0615c by Harvey Harrison
gluegen: small cleanup and type annotation in GlueGenTask

- remove an unused import
- annotate includesList with type information
- small code cleanup now that the type information is present

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
The file was modifiedsrc/java/com/jogamp/gluegen/ant/GlueGenTask.java (diff)
Commit 1709c545c401042be2aa2305abcb3e41e44f74ba by Harvey Harrison
gluegen: remove trailing whitespace from cgrammer Type class

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/Type.java (diff)
Commit 898f62a51ff32bec12c7839593bb6ed3f737a022 by Harvey Harrison
gluegen: fix equals comparison in cgrammer Type class

name was being compared to itself, rather than the name of the type we are comparing,
looks like a simple typo.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/Type.java (diff)
Commit 89f0b7e392f57acfff0b6a195aeddd2225b2f2fe by Harvey Harrison
gluegen: break apart a complex conditional in Type.equals() for readability

- move the cheap integer compares earlier before the String comparisons

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/Type.java (diff)
Commit 542e7c364ced2865c5deac1498f5ff537a31c0b8 by Harvey Harrison
gluegen: remove trailing whitespace from psuedo-C parser

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
The file was modifiedsrc/java/com/jogamp/gluegen/pcpp/PCPP.java (diff)
Commit 6838d3593512d0388948c784023303d966b6e298 by Harvey Harrison
gluegen: simplify expression comparing against Boolean.TRUE

As a last resort we can just return the boolean value directly here, also no
need to try/catch as valueOf does not throw any exceptions.

Pointed out by Findbugs.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
The file was modifiedsrc/java/com/jogamp/gluegen/pcpp/PCPP.java (diff)
Commit 5e0af71477289c7686a0f4b348dfe36fb8e5b644 by Harvey Harrison
gluegen: conditional cleanup in Type.equals()

- instanceof includes null checking
- simplify comparison of name, either they are the same object (possibly null)
or they compare equal as strings

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/Type.java (diff)
Commit a8e9be19b0215fe349c1861c5ea866e929923337 by Sven Gothel
Intermediate revised Type.java edit before reducing
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/Type.java (diff)
Commit 3ccb9dbc00746d31f08a907d190892d68273d4bf by Sven Gothel
Reducing Type's equals
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/Type.java (diff)
Commit 33ffe6769081401741813507ab01faa5ede80eae by Sven Gothel
ProcAddressEmitter: Remove 'guessing' argument names from types, since they are ambiguous - better use default generic ones to avoid confusion.
The file was modifiedsrc/java/com/jogamp/gluegen/procaddress/ProcAddressEmitter.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/MethodBinding.java (diff)
Commit d7fb6a7bcfbd2d5ac452abdcdd31fb4d71441c70 by Harvey Harrison
gluegen: generics annotations for various ArrayList/List use

- Use the copy constructor rather than ArrayList.clone()
- constrain listsEqual  so the compiler will warn about comparing lists of different types

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/EnumType.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/CompoundType.java (diff)
The file was modifiedsrc/java/com/jogamp/common/util/IntIntHashMap.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/Type.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/FunctionType.java (diff)
Commit 28410cfb398b510b4f748f3a1134dd13dae9f7c4 by Harvey Harrison
gluegen: remove two fast-path tests that can never trigger

ignores and unimplemented are both Set<Pattern>, they cannot contain a String,
immediately after these 'fast paths' we loop over the patterns calling .matches()
which makes sense, so remove the misleading tests.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
The file was modifiedsrc/java/com/jogamp/gluegen/JavaConfiguration.java (diff)
Commit 4309d1334a2b036c7bf15612199bb7391a57980b by Harvey Harrison
gluegen: replace Thread name with name of lock file in SingletonInstanceFileLock error message

The getName() call here is currently calling Thread.getName() inherited by the
anonymous inner class.  This is ambiguous, and likely meant to call the getName()
method of SingletonInstanceFileLock, which would output the lockfile name.

In any event, infoPrefix() is already adding the Thread name for us.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
The file was modifiedsrc/java/jogamp/common/util/locks/SingletonInstanceFileLock.java (diff)
Commit cae1502304faac54fb6673ed31eb1493e8388497 by Sven Gothel
Buffers: Add normalized put methods, i.e. incl. value range conversion; New util. ValueConv for primitive type value conversion
The file was modifiedsrc/java/com/jogamp/common/nio/Buffers.java (diff)
The file was addedsrc/java/com/jogamp/common/util/ValueConv.java
The file was modifiedmake/scripts/runtest.sh (diff)
The file was addedsrc/junit/com/jogamp/common/util/TestValueConversion.java
Commit 73e8828566404e864170688dfb4fd530a83f8add by Sven Gothel
Minor revert of clone replacement w/ copt-ctor of commit d7fb6a7bcfbd2d5ac452abdcdd31fb4d71441c70

clone of ArrayList is more shallow than it's clone operation (?)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/FunctionType.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/EnumType.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/CompoundType.java (diff)
Commit febd5421a3e00673bd43cecd19aaa088eafb99e7 by Sven Gothel
Fix Buffers.copy<Type>Buffer[asByteBuffer](..): Reset position of the passed buffer (was missing).

This is an API regression as introduced in commit 25cc744f6bd5ca97e0ae58fa7e1c35f7b0f3046d
where JOGL's BufferUtil and GlueGen's were merged and API doc elaborated.
The latter states the desired fact that the source passed buffer's position shall remain
unchanged, however no code was added to take care of this detail.
The file was modifiedsrc/java/com/jogamp/common/nio/Buffers.java (diff)
Commit 761b2855b9c01c421ecd4d435a828a67b3a2471b by Sven Gothel
Revert "Minor revert of clone replacement w/ copt-ctor of commit d7fb6a7bcfbd2d5ac452abdcdd31fb4d71441c70"

This reverts commit 73e8828566404e864170688dfb4fd530a83f8add.

Convinced after discussing semantics w/ Harvey Harrison:

"the copy-constructor is way for predictable (as in branch-predictable)
and has better cache behavior, it can issue almost all the writes in
parallel, and has no exception catching.

So, the copy-constructor actually ends up being more efficient, and
you get typechecking to boot."
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/CompoundType.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/EnumType.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/FunctionType.java (diff)
Commit 08a8defda8b6f49eb794cf787f688ba65bfe7b37 by Sven Gothel
Fix VersionNumber: Non digits cut off pattern was '\D.*' and cut off digits in case leading non digits appear.

'\D.*' matches a leading non-digit and then any character.

First the string is tokenized by delim:
  "OpenGL ES GLSL ES 1.0.16" -> "OpenGL ES GLSL ES 1", "0", "16"

Enhance pattern as follows and access collected group if matching:
        // group1: \D* == leading non digits, optional
        // group2: \d* == digits
        // group3: .*  == any pending chars, optional
        final java.util.regex.Pattern nonDigitsCutOff = java.util.regex.Pattern.compile("(\\D*)(\\d*)(.*)");

Reorganized storage from atomic values to int[3] array, allowing simple pattern matching loop.

Added unit test.
The file was modifiedsrc/java/com/jogamp/common/util/VersionNumber.java (diff)
The file was modifiedmake/scripts/runtest.sh (diff)
The file was addedsrc/junit/com/jogamp/common/util/TestVersionNumber.java
Commit be7cd5059dea197bd3756e0b19f934041dc6ad13 by Sven Gothel
VersionNumber: Remove printing Exception (was added for debugging purposes)
The file was modifiedsrc/java/com/jogamp/common/util/VersionNumber.java (diff)
Commit c1a8c38e32b4ed8f97fc82602c90eb7b0b3cef6e by Sven Gothel
VersionNumber: Add API doc for string parsing
The file was modifiedsrc/java/com/jogamp/common/util/VersionNumber.java (diff)
Commit 661a625ed69faf701b6e868225148f630c2002d8 by Sven Gothel
VersionNumber: API doc fix
The file was modifiedsrc/java/com/jogamp/common/util/VersionNumber.java (diff)
Commit abbe6ce0973fbd82971ace1866515beefcc41817 by Sven Gothel
Fix Bug 608: Push down TempJarCache.findLibrary(..) from JNILibLoaderBase.loadLibraryInternal() to NativeLibrary.findLibrary(..)

This allows using TempJarCache (if used/initialized) for native 'tool' libraries as well.
This is the case of JOAL's attempt to load the provided 'libopenal.so'
The file was modifiedsrc/java/com/jogamp/common/jvm/JNILibLoaderBase.java (diff)
The file was modifiedsrc/java/com/jogamp/common/os/NativeLibrary.java (diff)
Commit 6bc876895b6b6a4e76896597d95dfd7c67bb6b49 by Sven Gothel
Adding com.jogamp.common.util.IntBitfield: Simple bitfield holder class using an int[] storage.

IntBitfield comes in handy to store bit states of a wide value range w/o being a memory hog an O(1) access,
e.g. keyCode -> isPressed maps etc.
The file was addedsrc/java/com/jogamp/common/util/IntBitfield.java
Commit 1507b376bada782b5064a0151d9b7871d1360b40 by Sven Gothel
IntBitfield: Add API doc; Enhance put() method, return previous value to be used more versatile and write only if value changed.
The file was modifiedsrc/java/com/jogamp/common/util/IntBitfield.java (diff)
Commit d430657cfd1f21885f3fdebebe6f0a49b1c5cd13 by Sven Gothel
IntIntHashMap: Add privileged for 'getDeclaredMethod(..)'; Add StringBuilder toString(..); Add more generics coding.
The file was modifiedsrc/java/com/jogamp/common/util/IntIntHashMap.java (diff)
Commit 5bd9880b54a48326742008d36175b1403c891ee1 by Sven Gothel
Android Launcher: Fix ClassLoaderUtil's JNI lib-path determination, use ApplicationInfo's nativeLibraryDir (API level 9).

On Android > 4.0.3 (maybe even earlier), w/ a split filesystem (internal and SDCARD)
the JNI libs maybe stored at a different location than it's data path.
ApplicationInfo's nativeLibraryDir properly determines the JNI storage location, hence use it.

Prev. code also derived JNI lib path by the launcher's ApplicationInfo's nativeLibraryDir,
which might be different than the user package's nativeLibraryDir.
This is especially true, since the launcher may not hold any native libraries.
The file was modifiedsrc/java/jogamp/android/launcher/ClassLoaderUtil.java (diff)
Commit 43163af2618a0aaa3cf41de8027ef402d7e89cc3 by Sven Gothel
Android build scripts: Fix env. name ANDROID_SDK_HOME -> ANDROID_HOME

Intuitively I assumed ANDROID_SDK_HOME to be pointing to the SDK root dir,
however this is not true: Semantics by Android tools are:

ANDROID_SDK_HOME - Users ~/.android folder
ANDROID_HOME     - SDK root folder
The file was modifiedmake/scripts/crosstest-java-android-armv7-rel.sh (diff)
The file was modifiedmake/scripts/make.gluegen.all.android-armv7-cross.sh (diff)
The file was modifiedmake/scripts/crosstest-junit-android-armv7-rel.sh (diff)
The file was modifiedmake/scripts/make.gluegen.all.android-armv6-cross.sh (diff)
Commit 4cbceccb3a91bb4b9bcf9e109e5f777fa50606a3 by Sven Gothel
Complete commit 43163af2618a0aaa3cf41de8027ef402d7e89cc3 - jogamp-androidtasks.xml was using ANDROID_SDK_HOME, -> ANDROID_HOME
The file was modifiedmake/jogamp-androidtasks.xml (diff)