LibJF/libjf-config-compiler-plugi.../build.gradle.kts

58 lines
1.8 KiB
Plaintext

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<JavaCompile>("compileTestJava") {
options.compilerArgs.add("-AmodId=example-mod")
}
publishing {
publications {
create<MavenPublication>("maven") {
from(components["java"])
}
}
}