This repository has been archived on 2024-07-29. You can view files and clone it, but cannot push or open issues or pull requests.
Plugin/build.gradle

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()
}