Upgraded the build system to Gradle 8.12 and updated the CI pipeline to use JDK 17 for improved compatibility and performance.
61 lines
1.3 KiB
Groovy
61 lines
1.3 KiB
Groovy
import org.apache.tools.ant.filters.ReplaceTokens
|
|
import tool.generator.GenerateLibs
|
|
import tool.generator.api.task.GenerateApi
|
|
|
|
plugins {
|
|
id 'java'
|
|
id 'maven-publish'
|
|
id 'signing'
|
|
}
|
|
|
|
java {
|
|
toolchain {
|
|
languageVersion.set(JavaLanguageVersion.of(8))
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
testImplementation("org.junit.jupiter:junit-jupiter-api:5.11.3")
|
|
testImplementation("org.junit.jupiter:junit-jupiter-engine:5.11.3")
|
|
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
|
|
}
|
|
|
|
test {
|
|
useJUnitPlatform()
|
|
}
|
|
|
|
compileJava {
|
|
// By default we do not generate API, since we believe this should be done on purpose.
|
|
if (System.getProperty('build.debug.generate.api.enable')) {
|
|
dependsOn 'generateApi'
|
|
}
|
|
}
|
|
|
|
sourceSets {
|
|
main.java.srcDirs = ['src/generated/java']
|
|
raw.java.srcDirs = ['src/main/java']
|
|
}
|
|
|
|
tasks.register('generateApi', GenerateApi)
|
|
|
|
tasks.register('generateLibs', GenerateLibs) {
|
|
it.dependsOn assemble
|
|
}
|
|
|
|
apply from: "$rootDir/publish.gradle"
|
|
configurePublishing('imgui-java-binding', 'JNI based binding for Dear ImGui', project.version)
|
|
|
|
jar {
|
|
manifest {
|
|
attributes 'Automatic-Module-Name': 'imgui.binding'
|
|
}
|
|
}
|
|
|
|
processResources {
|
|
filesMatching('**/imgui-java.properties') {
|
|
filter(ReplaceTokens, tokens: [
|
|
'version': version
|
|
])
|
|
}
|
|
}
|