-
Notifications
You must be signed in to change notification settings - Fork 2
Update project to Java 25 #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This pull request updates the project from Java 21 to Java 25 to enable binding generation for wgpu-native version v27.0.4.0. The update includes upgrading build tools, updating Java version references in Gradle configurations, and modifying the path to the webgpu.h header file.
Changes:
- Updated Java version from 21 to 25 across library build configuration
- Upgraded Gradle from version 8.5 to 9.2.1
- Updated GitHub Actions workflow to use Java 25 and jextract-25
- Modified webgpu.h header file path to reflect new directory structure in wgpu-native distribution
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| lib/build.gradle | Updated Java source/target compatibility and toolchain to version 25 |
| gradle/wrapper/gradle-wrapper.properties | Upgraded Gradle wrapper from 8.5 to 9.2.1 |
| .github/workflows/build-and-publish-bindings.yml | Updated Java version to 25 and jextract to version 25 |
| natives/build.gradle | Updated path to webgpu.h header file to match new wgpu-native distribution structure |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Add matrix strategy to build on both ubuntu-latest and windows-latest - Download and configure platform-specific jextract binaries - Use platform-specific Gradle commands and shell environments - Upload platform-specific binding artifacts Co-authored-by: Thihup <[email protected]>
- Add toolchain parameter to handle Windows-specific naming (msvc/gnu) - Construct platform string correctly for Windows (windows-x86_64-msvc) - Update file paths to use dynamic platformString variable Co-authored-by: Thihup <[email protected]>
- Split extract jextract into separate Linux and Windows steps - Remove extract_command from matrix as it's no longer needed - Use explicit shell directives for each platform Co-authored-by: Thihup <[email protected]>
- Use matrix.jextract_archive variable in extract steps - Improve toolchain handling to use null instead of empty string - Add explicit null check in platformString construction Co-authored-by: Thihup <[email protected]>
- Set contents: read and packages: write permissions - Addresses CodeQL security alert about missing workflow permissions Co-authored-by: Thihup <[email protected]>
- Change Windows jextract URL from .zip to .tar.gz - Update Windows extraction to use tar command instead of Expand-Archive - Both Linux and Windows now use tar.gz archives Co-authored-by: Thihup <[email protected]>
- Add quotes around -PwgpuVersion and -Pos parameters - Fixes issue where version strings with periods (v27.0.4.0) were being incorrectly parsed on Windows - Prevents "Task '.0.4.0' not found" error Co-authored-by: Thihup <[email protected]>
Add Windows bindings generation support
Co-authored-by: Thihup <[email protected]>
Co-authored-by: Thihup <[email protected]>
Publish JExtract-generated source code alongside compiled bindings
To allow generate bindings for the version v27.0.4.0