94 lines
2.4 KiB
Groovy
94 lines
2.4 KiB
Groovy
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 = "Sonatype"
|
|
url = "https://oss.sonatype.org/content/repositories/snapshots/"
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
compileOnly("org.spigotmc:spigot-api:${project.bukkit_version}")
|
|
|
|
implementation 'org.eclipse.jetty:jetty-server:12.0.8'
|
|
implementation 'org.eclipse.jetty.ee10:jetty-ee10-servlet:12.0.8'
|
|
implementation 'org.eclipse.jetty.ee10.websocket:jetty-ee10-websocket-jetty-server:12.0.8'
|
|
|
|
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')
|
|
|
|
// relocate stuff
|
|
relocate('com.google.gson', 'me.theclashfruit.deps.gson')
|
|
relocate('org.eclipse.jetty', 'me.theclashfruit.deps.jetty')
|
|
relocate('jakarta', 'me.theclashfruit.deps.jakarta')
|
|
relocate('org.slf4j', 'me.theclashfruit.deps.slf4j')
|
|
relocate('org.objectweb.asm', 'me.theclashfruit.deps.asm')
|
|
|
|
archiveBaseName.set(rootProject.name)
|
|
archiveClassifier.set('')
|
|
archiveVersion.set(project.version)
|
|
}
|
|
|
|
tasks.jar.enabled = false
|
|
|
|
tasks.build {
|
|
dependsOn tasks.processResources
|
|
dependsOn tasks.shadowJar
|
|
}
|
|
|
|
test {
|
|
useJUnitPlatform()
|
|
} |