https://github.com/infolektuell/gradle-jextract
Gradle plugin that generates Java bindings from native library headers using Jextract
https://github.com/infolektuell/gradle-jextract
ffm foreign-function-interface gradle java native panama
Last synced: 9 days ago
JSON representation
Gradle plugin that generates Java bindings from native library headers using Jextract
- Host: GitHub
- URL: https://github.com/infolektuell/gradle-jextract
- Owner: infolektuell
- License: mit
- Created: 2024-09-01T08:35:10.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-08T11:42:26.000Z (12 months ago)
- Last Synced: 2025-02-13T06:42:45.290Z (8 months ago)
- Topics: ffm, foreign-function-interface, gradle, java, native, panama
- Language: Kotlin
- Homepage: https://plugins.gradle.org/plugin/de.infolektuell.jextract
- Size: 188 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Gradle Jextract Plugin
[](https://plugins.gradle.org/plugin/de.infolektuell.jextract)
This is a Gradle plugin that adds [Jextract] to a Gradle build.
## Quick Start
```kts
plugins {
`java-library`
id("de.infolektuell.jextract") version "x.y.z"
}repositories {
mavenCentral()
}java {
toolchain {
languageVersion = JavaLanguageVersion.of(22)
}
}jextract.libraries {
val greeting by registering {
header = layout.projectDirectory.file("src/main/public/greeting.h")
headerClassName = "Greeting"
targetPackage = "com.example.greeting"
useSystemLoadLibrary = true
libraries.add("greeting")
}
sourceSets.named("main") {
jextract.libraries.addLater(greeting)
}
}
```Please visit the [Setup guide] on the documentation website for more details.
## Change history
See GitHub Releases or the [changelog file](CHANGELOG.md) for releases and changes.
## License
[MIT License](LICENSE.txt)
[jextract]: https://jdk.java.net/jextract/
[setup guide]: https://infolektuell.github.io/gradle-jextract/start/setup/