From 346b34296f36053097fd11d7b99ce24fb7e15e3a Mon Sep 17 00:00:00 2001 From: Michael Zuegg Date: Sun, 5 Apr 2026 21:17:39 +0200 Subject: [PATCH 1/4] Update copyWgpuHeaders task to include correct path --- natives/build.gradle | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/natives/build.gradle b/natives/build.gradle index 9cf46a1..6651ee4 100644 --- a/natives/build.gradle +++ b/natives/build.gradle @@ -23,11 +23,12 @@ task unzip(type: Copy) { into "bin/$wgpuVersion/$os-$arch-$type" } -task copyWgpuHeaders(type: Copy) { - from "bin/$wgpuVersion/$os-$arch-$type/webgpu.h" - into 'build/headers/' -} + task copyWgpuHeaders(type: Copy) { + from "bin/$wgpuVersion/$os-$arch-$type/include/webgpu/webgpu.h" + into 'build/headers/' + } + artifacts { headers file('build/headers/webgpu.h') -} \ No newline at end of file +} From d405d49a064129458fdad974695649cbe10578f3 Mon Sep 17 00:00:00 2001 From: zzuegg Date: Sun, 5 Apr 2026 21:21:59 +0200 Subject: [PATCH 2/4] chore: update to jextract 25 + Java 25 for wgpu-native v27 - Workflow: use jextract-25 EA build (JDK 25, FFM stable) - lib: target Java 25, remove --enable-preview flag - lib: publish to zzuegg/webgpu-java packages --- .github/workflows/build-and-publish-bindings.yml | 8 ++++---- lib/build.gradle | 12 +++++------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build-and-publish-bindings.yml b/.github/workflows/build-and-publish-bindings.yml index f9bc73e..4508d89 100644 --- a/.github/workflows/build-and-publish-bindings.yml +++ b/.github/workflows/build-and-publish-bindings.yml @@ -20,13 +20,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - run: wget -O $RUNNER_TEMP/jdk.tar.gz https://download.java.net/java/early_access/jextract/22/5/openjdk-22-jextract+5-33_linux-x64_bin.tar.gz + - run: wget -O $RUNNER_TEMP/jdk.tar.gz https://download.java.net/java/early_access/jextract/25/2/openjdk-25-jextract+2-4_linux-x64_bin.tar.gz - run: tar -xf $RUNNER_TEMP/jdk.tar.gz - - run: echo "JEXTRACT_HOME=$(pwd)/jextract-22" >> $GITHUB_ENV + - run: echo "JEXTRACT_HOME=$(pwd)/jextract-25" >> $GITHUB_ENV - uses: actions/setup-java@v4 id: install-jdk with: - java-version: 21 + java-version: 25 distribution: temurin - name: Setup Gradle @@ -56,4 +56,4 @@ jobs: run: ./gradlew -PwgpuVersion=${{ inputs.wgpuVersion }} :lib:publish env: GITHUB_USER: ${{ github.actor }} - GITHUB_TOKEN: ${{ secrets.PKG_PUBLISHING_AUTH_TOKEN }} \ No newline at end of file + GITHUB_TOKEN: ${{ secrets.PKG_PUBLISHING_AUTH_TOKEN }} diff --git a/lib/build.gradle b/lib/build.gradle index cc4ecb5..cbbe3c3 100644 --- a/lib/build.gradle +++ b/lib/build.gradle @@ -20,13 +20,13 @@ def jextractHome = project.hasProperty('jextract.home') : null java { - sourceCompatibility = JavaVersion.VERSION_21 - targetCompatibility = JavaVersion.VERSION_21 + sourceCompatibility = JavaVersion.VERSION_25 + targetCompatibility = JavaVersion.VERSION_25 } java { toolchain { - languageVersion.set(JavaLanguageVersion.of(21)) + languageVersion.set(JavaLanguageVersion.of(25)) } } @@ -42,9 +42,7 @@ sourceSets { } } -tasks.compileJava { - options.compilerArgs.add("--enable-preview") -} +// FFM is stable in Java 25, no preview flags needed task invokeJextract(type: Exec){ doFirst { @@ -96,7 +94,7 @@ publishing { mavenLocal() maven { name = "GHPackages" - url = uri("https://maven.pkg.github.com/MyWorldLLC/Packages") + url = uri("https://maven.pkg.github.com/zzuegg/webgpu-java") credentials { username = System.getenv("GITHUB_USER") ?: project.findProperty("gpr.user") password = System.getenv("GITHUB_TOKEN") ?: project.findProperty("gpr.password") From b2f11cbfa06c1d9d2cb7eda9f0289d0c13b929e4 Mon Sep 17 00:00:00 2001 From: zzuegg Date: Sun, 5 Apr 2026 21:24:18 +0200 Subject: [PATCH 3/4] =?UTF-8?q?chore:=20upgrade=20Gradle=208.5=20=E2=86=92?= =?UTF-8?q?=208.14.1=20for=20Java=2025=20support?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gradle/wrapper/gradle-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 1af9e09..002b867 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME From a4b10646d9ee32819f2f75734899010b99f1d3ab Mon Sep 17 00:00:00 2001 From: zzuegg Date: Sun, 5 Apr 2026 21:26:13 +0200 Subject: [PATCH 4/4] chore: upgrade to Gradle 9.4.1 + download plugin 5.6.0 for Java 25 --- gradle/wrapper/gradle-wrapper.properties | 2 +- natives/build.gradle | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 002b867..c61a118 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/natives/build.gradle b/natives/build.gradle index 6651ee4..9132169 100644 --- a/natives/build.gradle +++ b/natives/build.gradle @@ -1,9 +1,7 @@ plugins { - id 'de.undercouch.download' version '4.1.1' + id 'de.undercouch.download' version '5.6.0' } -apply plugin: 'de.undercouch.download' - configurations { headers }