import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import org.yaml.snakeyaml.Yaml import java.io.File import java.io.FileInputStream buildscript { repositories { mavenCentral() maven("https://plugins.gradle.org/m2/") } dependencies { classpath("org.yaml:snakeyaml:1.26") classpath("org.jlleitschuh.gradle:ktlint-gradle:10.1.0") classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.30") } } plugins { id("org.jetbrains.kotlin.jvm") version "1.5.30" id("com.github.johnrengelman.shadow") version "5.2.0" id("org.jlleitschuh.gradle.ktlint") version "10.1.0" } group = "org.kraftwerk28" val cfg: Map = Yaml() .load(FileInputStream("$projectDir/src/main/resources/plugin.yml")) val pluginVersion = cfg.get("version") val spigotApiVersion = cfg.get("api-version") val retrofitVersion = "2.7.1" version = pluginVersion as Any repositories { mavenCentral() maven( url = "https://hub.spigotmc.org/nexus/content/repositories/snapshots/" ) maven(url = "https://jitpack.io") maven(url = "https://oss.sonatype.org/content/repositories/snapshots/") } dependencies { implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") compileOnly("org.spigotmc:spigot-api:$spigotApiVersion-R0.1-SNAPSHOT") implementation("com.google.code.gson:gson:2.8.7") implementation("com.squareup.retrofit2:retrofit:$retrofitVersion") implementation("com.squareup.retrofit2:converter-gson:$retrofitVersion") implementation("com.squareup.okhttp3:logging-interceptor:4.2.1") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.0") implementation("com.vdurmont:emoji-java:5.1.1") } defaultTasks("shadowJar") tasks { named("shadowJar") { archiveFileName.set( "spigot-tg-bridge-$spigotApiVersion-v$pluginVersion.jar" ) } register("copyArtifacts") { val dest = File( System.getProperty("user.home"), "MinecraftServers/spigot_1.17/plugins/", ) from(shadowJar) into(dest) } register("pack") { description = "[For development only!] Build project and copy .jar into servers directory" dependsOn("shadowJar") finalizedBy("copyArtifacts") } withType { kotlinOptions { jvmTarget = "1.8" } } }