From 3f49eb8373c07e74ba42e4839764bcb6b0a754b9 Mon Sep 17 00:00:00 2001 From: Michael Carleton Date: Fri, 17 Jul 2026 18:20:59 +0100 Subject: [PATCH 1/2] Resolve JOGL native-lib and repository issues by using JOGL 2.6.0 from Maven Central JOGL/GlueGen 2.6.0 is now published on Maven Central, so bump the jogl-all-main and gluegen-rt-main dependencies from 2.5.0 to 2.6.0 and drop the custom JogAmp declaration. Fixes #12: Gradle ignores declared in a dependency POM, so consumers could not resolve gluegen-rt-main / jogl-all-main from the JogAmp repo. Everything now resolves from Maven Central. Fixes #13: the "-main" artifacts transitively pull the natives-* jars (natives-windows-amd64, natives-linux-amd64, natives-macosx-universal, ...) which carry the runtime libraries such as nativewindow_awt. With these resolvable from Central they land on the consumer classpath and JOGL extracts them at runtime, avoiding the UnsatisfiedLinkError. Also document Gradle usage in the README. Co-Authored-By: Claude Opus 4.8 --- README.md | 17 +++++++++++++++++ pom.xml | 20 +++++++++++--------- 2 files changed, 28 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 1996e1a..b7c3769 100644 --- a/README.md +++ b/README.md @@ -36,4 +36,21 @@ This mirror is not necessarily up to date with the latest Processing 4 release; Now you don't have to worry about adding core.jar, the JavaFX and JOGL & Gluegen dependencies to your project — this does it all! +## Usage in your Gradle project + +The JOGL & GlueGen dependencies (including their platform-specific *native* libraries) are resolved from *Maven Central*, so you only need the *JitPack* and *Maven Central* repositories — no additional *JogAmp* repository is required: + +```kotlin +repositories { + mavenCentral() + maven { url = uri("https://jitpack.io") } +} + +dependencies { + implementation("com.github.micycle1:processing-core-4:4.5.0") +} +``` + +Because the native libraries are pulled in transitively as regular artifacts, there is no need to install JOGL system-wide or to set `java.library.path` manually. + Note: core version 4.1.1 and onwards require Java 17+; prior versions require Java 11+. diff --git a/pom.xml b/pom.xml index 892abc5..cf18817 100644 --- a/pom.xml +++ b/pom.xml @@ -188,28 +188,30 @@ - - - jogamp - jogamp - https://jogamp.org/deployment/maven/ - - org.openjfx javafx-controls 23.0.2 + org.jogamp.jogl jogl-all-main - 2.5.0 + 2.6.0 org.jogamp.gluegen gluegen-rt-main - 2.5.0 + 2.6.0 org.apache.xmlgraphics From 82c63e063d6ca68b792e1a884a0e2f3e835462fc Mon Sep 17 00:00:00 2001 From: Michael Carleton Date: Fri, 17 Jul 2026 18:38:01 +0100 Subject: [PATCH 2/2] Update mirror to Processing 4.5.5 Advance the processing4 submodule to tag processing-1433-4.5.5 (31b7b2c) and bump the artifact version to 4.5.5. Update README version references and trim the Gradle usage section. Co-Authored-By: Claude Opus 4.8 --- README.md | 10 +++------- pom.xml | 2 +- processing4 | 2 +- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index b7c3769..a7f34ed 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ This is a mirror of the *core* library from [Processing 4](https://github.com/pr It is hosted as a *Maven* dependency via [JitPack](https://jitpack.io/#micycle1/processing-core-4) (from this Github repository) so it can be referenced in your own *Maven* project (for when you want to use the Processing library outside of the Processing IDE). -This mirror is not necessarily up to date with the latest Processing 4 release; it is currently based on Processing [**4.5.0**](https://github.com/processing/processing4/releases/tag/processing-1311-4.5.0). +This mirror is not necessarily up to date with the latest Processing 4 release; it is currently based on Processing [**4.5.5**](https://github.com/processing/processing4/releases/tag/processing-1433-4.5.5). --- @@ -28,7 +28,7 @@ This mirror is not necessarily up to date with the latest Processing 4 release; com.github.micycle1 processing-core-4 - 4.5.0 + 4.5.5 ``` @@ -38,8 +38,6 @@ Now you don't have to worry about adding core.jar, the JavaFX and JOGL & Gluegen ## Usage in your Gradle project -The JOGL & GlueGen dependencies (including their platform-specific *native* libraries) are resolved from *Maven Central*, so you only need the *JitPack* and *Maven Central* repositories — no additional *JogAmp* repository is required: - ```kotlin repositories { mavenCentral() @@ -47,10 +45,8 @@ repositories { } dependencies { - implementation("com.github.micycle1:processing-core-4:4.5.0") + implementation("com.github.micycle1:processing-core-4:4.5.5") } ``` -Because the native libraries are pulled in transitively as regular artifacts, there is no need to install JOGL system-wide or to set `java.library.path` manually. - Note: core version 4.1.1 and onwards require Java 17+; prior versions require Java 11+. diff --git a/pom.xml b/pom.xml index cf18817..25c9649 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.processing core - 4.5.0 + 4.5.5 Processing Core micycle1_processing-core-4 diff --git a/processing4 b/processing4 index 26c53c9..31b7b2c 160000 --- a/processing4 +++ b/processing4 @@ -1 +1 @@ -Subproject commit 26c53c9656957fbe684bfabbf1f3e54729a91993 +Subproject commit 31b7b2c79439995142e333ea6ee9c510fd237d83