plugins { id 'java' id 'com.github.johnrengelman.shadow' version '8.1.1' } group = 'me.theclashfruit' version = project.plugin_version repositories { mavenCentral() maven { name = "Spigot" url = "https://hub.spigotmc.org/nexus/content/repositories/snapshots/" } maven { name = "Vault" url = "https://nexus.hc.to/content/repositories/pub_releases" } maven { name = "Sonatype" url = "https://oss.sonatype.org/content/repositories/snapshots/" } } dependencies { testImplementation platform('org.junit:junit-bom:5.9.1') testImplementation 'org.junit.jupiter:junit-jupiter' shadow implementation("org.spigotmc:spigot-api:${project.bukkit_version}") shadow implementation("net.milkbowl.vault:VaultAPI:1.5") implementation 'org.eclipse.jetty:jetty-server:9.4.52.v20230823' implementation 'org.eclipse.jetty:jetty-servlet:9.4.52.v20230823' implementation 'org.eclipse.jetty.websocket:websocket-server:9.4.52.v20230823' implementation 'org.eclipse.jetty.websocket:websocket-servlet:9.4.52.v20230823' implementation 'javax.servlet:javax.servlet-api:4.0.1' implementation 'javax.websocket:javax.websocket-api:1.1' implementation 'com.google.code.gson:gson:2.10.1' } processResources { inputs.property "version", project.version inputs.property "bukkit_version", project.bukkit_version filteringCharset "UTF-8" filesMatching("plugin.yml") { expand "version": project.version, "bukkit_version": project.bukkit_version } } tasks.register("launchMinecraftServer", JavaExec) { group('minecraft') dependsOn("build") classpath = sourceSets.main.runtimeClasspath main = "me.theclashfruit.devrunner.DevRunner" doFirst { copy { from(layout.buildDirectory.file("libs/${project.name}-${project.version}.jar")) into(layout.projectDirectory.file("run/plugins")) } copy { from(configurations.runtimeClasspath) into(layout.projectDirectory.file("run")) include "spigot*" // rename("spigot-${project.bukkit_version}.jar", "server.jar") } } } shadowJar { // exclude devrunner from jar exclude('me/theclashfruit/devrunner') archiveBaseName.set(rootProject.name) archiveClassifier.set('') archiveVersion.set(project.version) } tasks.jar.enabled = false tasks.build { dependsOn tasks.processResources dependsOn tasks.shadowJar } test { useJUnitPlatform() }