import org.jetbrains.gradle.ext.settings import org.jetbrains.gradle.ext.taskTriggers plugins { kotlin("jvm") version "2.0.20-Beta1" kotlin("kapt") version "2.0.20-Beta1" id("com.github.johnrengelman.shadow") version "8.1.1" id("eclipse") id("org.jetbrains.gradle.plugin.idea-ext") version "1.1.8" } group = "io.github.thehrz" version = "1.0.0" repositories { mavenCentral() maven("https://repo.papermc.io/repository/maven-public/") { name = "papermc-repo" } maven("https://oss.sonatype.org/content/groups/public/") { name = "sonatype" } } dependencies { compileOnly("com.velocitypowered:velocity-api:3.4.0-SNAPSHOT") kapt("com.velocitypowered:velocity-api:3.4.0-SNAPSHOT") implementation("com.moandjiezana.toml:toml4j:0.7.2") implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") implementation("net.kyori:adventure-api:4.18.0") } val targetJavaVersion = 17 kotlin { jvmToolchain(targetJavaVersion) } tasks.build { dependsOn("shadowJar") } val templateSource = file("src/main/templates") val templateDest = layout.buildDirectory.dir("generated/sources/templates") val generateTemplates = tasks.register("generateTemplates") { val props = mapOf("version" to project.version) inputs.properties(props) from(templateSource) into(templateDest) expand(props) } sourceSets.main.configure { java.srcDir(generateTemplates.map { it.outputs }) } project.idea.project.settings.taskTriggers.afterSync(generateTemplates) project.eclipse.synchronizationTasks(generateTemplates)