import io.gitlab.jfronny.scripts.* import javax.lang.model.element.Modifier.* plugins { `java-library` id("jf.maven-publish") id("jf.codegen") } group = rootProject.group version = rootProject.version repositories { mavenCentral() maven("https://maven.frohnmeyer-wds.de/artifacts") maven("https://maven.fabricmc.net/") } dependencies { val commonsVersion: String by rootProject.extra val gsonCompileVersion: String by rootProject.extra val annotationsVersion: String by rootProject.extra val javapoetVersion: String by rootProject.extra implementation("io.gitlab.jfronny.gson:gson-compile-processor-core:$gsonCompileVersion") implementation(devProject(":libjf-config-core-v2")) implementation("org.jetbrains:annotations:$annotationsVersion") implementation("io.gitlab.jfronny:commons:$commonsVersion") implementation("io.gitlab.jfronny:commons-serialize-gson:$commonsVersion") implementation("com.squareup:javapoet:$javapoetVersion") testAnnotationProcessor(sourceSets.main.get().output) configurations.testAnnotationProcessor.get().extendsFrom(configurations.implementation.get()) } tasks.publish.get().dependsOn(tasks.build.get()) rootProject.tasks.deployDebug.dependsOn(tasks.publish.get()) sourceSets { main { generate(project) { `class`("io.gitlab.jfronny.libjf.config.plugin", "BuildMetadata") { modifiers(PUBLIC) field("IS_RELEASE", project.hasProperty("release"), PUBLIC, STATIC, FINAL) } } } } tasks.named("compileTestJava") { options.compilerArgs.add("-AmodId=example-mod") } publishing { publications { create("maven") { from(components["java"]) } } }