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.13.4") testImplementation("org.junit.jupiter:junit-jupiter-engine:5.13.4") 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 ]) } }