Plex-FAWE/worldedit-bukkit/build.gradle.kts

194 lines
7.0 KiB
Plaintext
Raw Normal View History

2019-08-26 04:45:03 +00:00
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
plugins {
`java-library`
2019-08-26 04:45:03 +00:00
}
applyPlatformAndCoreConfiguration()
applyShadowConfiguration()
repositories {
2021-01-21 12:07:17 +00:00
maven {
2021-01-21 12:34:33 +00:00
name = "SpigotMC"
2021-01-21 12:07:17 +00:00
url = uri("https://hub.spigotmc.org/nexus/content/groups/public")
content {
includeGroup("org.bukkit")
includeGroup("org.spigotmc")
}
}
maven {
2021-01-21 12:34:33 +00:00
name = "PaperMC"
2021-01-21 12:07:17 +00:00
url = uri("https://papermc.io/repo/repository/maven-public/")
content {
includeGroup("io.papermc")
includeGroup("com.destroystokyo.paper")
}
}
maven {
2021-01-21 12:34:33 +00:00
name = "EngineHub"
2021-01-21 12:07:17 +00:00
url = uri("https://maven.enginehub.org/repo/")
content {
2021-01-21 12:21:54 +00:00
includeGroupByRegex("com.sk89q.*")
}
}
2021-01-21 12:07:17 +00:00
maven {
name = "Athion"
url = uri("https://ci.athion.net/plugin/repository/tools/")
}
2020-08-14 19:29:15 +00:00
maven {
2021-01-21 12:34:33 +00:00
name = "JitPack"
url = uri("https://jitpack.io")
2021-01-21 12:07:17 +00:00
content {
2021-01-21 12:34:33 +00:00
includeGroup("com.github.MilkBowl")
2021-01-21 12:07:17 +00:00
includeGroup("com.github.TechFortress")
}
2020-08-14 19:29:15 +00:00
}
2020-02-26 04:21:01 +00:00
maven {
2021-01-21 12:34:33 +00:00
name = "ProtocolLib"
2020-02-26 04:21:01 +00:00
url = uri("https://repo.dmulloy2.net/nexus/repository/public/")
content {
includeGroup("com.comphenix.protocol")
}
2020-02-26 04:21:01 +00:00
}
2021-01-21 12:07:17 +00:00
maven {
name = "Inventivetalent"
url = uri("https://repo.inventivetalent.org/content/groups/public/")
content {
includeGroupByRegex("org.inventivetalent.*")
}
}
2021-01-22 22:23:08 +00:00
maven {
name = "IntellectualSites 3rd Party"
url = uri("https://mvn.intellectualsites.com/content/repositories/thirdparty")
content {
includeGroup("de.notmyfault")
}
}
maven {
name = "OSS Sonatype Snapshots"
url = uri("https://oss.sonatype.org/content/repositories/snapshots/")
content {
includeGroup("net.kyori")
}
}
2021-03-08 20:12:42 +00:00
maven {
name = "OSS Sonatype Releases"
url = uri("https://oss.sonatype.org/content/repositories/releases/")
content {
includeGroup("net.kyori")
}
}
2021-01-21 12:07:17 +00:00
flatDir { dir(File("src/main/resources")) }
2019-08-26 04:45:03 +00:00
}
configurations.all {
resolutionStrategy {
force("com.google.guava:guava:21.0")
}
}
dependencies {
2021-01-21 12:07:17 +00:00
compileOnly("com.github.MilkBowl:VaultAPI:1.7") { isTransitive = false }
api(project(":worldedit-core"))
api(project(":worldedit-libs:bukkit"))
compile(":worldedit-adapters:")
// Paper-patched NMS jars
2021-01-21 12:07:17 +00:00
compileOnly("com.destroystokyo.paperv1_15_r1:paperv1_15_r1:1_15_r1")
compileOnly("com.destroystokyo.paperv1_16_r1:paperv1_16_r1:1_16_r1")
compileOnly("com.destroystokyo.paperv1_16_r2:paperv1_16_r2:1_16_r2")
compileOnly("com.destroystokyo.paperv1_16_r3:paperv1_16_r3:1_16_r3")
compileOnly("org.spigotmcv1_15_r1:spigotmcv1_15_r1:1_15_r1")
compileOnly("org.spigotmcv1_16_r1:spigotmcv1_16_r1:1_16_r1")
compileOnly("org.spigotmcv1_16_r2:spigotmcv1_16_r2:1_16_r2")
compileOnly("org.spigotmcv1_16_r3:spigotmcv1_16_r3:1_16_r3")
implementation("it.unimi.dsi:fastutil")
api("com.destroystokyo.paper:paper-api:1.16.5-R0.1-SNAPSHOT") {
2019-08-26 04:45:03 +00:00
exclude("junit", "junit")
2019-10-23 04:23:52 +00:00
isTransitive = false
2019-08-26 04:45:03 +00:00
}
2021-01-21 12:07:17 +00:00
compileOnly("org.spigotmc:spigot:1.16.5-R0.1-SNAPSHOT")
compileOnly("org.jetbrains:annotations:20.1.0")
testCompileOnly("org.jetbrains:annotations:20.1.0")
implementation("io.papermc:paperlib:1.0.6")
compileOnly("com.sk89q:dummypermscompat:1.10") {
2020-08-14 19:29:15 +00:00
exclude("com.github.MilkBowl", "VaultAPI")
}
2021-02-15 18:40:38 +00:00
implementation("org.apache.logging.log4j:log4j-slf4j-impl:2.8.1")
testImplementation("org.mockito:mockito-core:3.8.0")
2021-01-21 12:21:54 +00:00
compileOnly("com.sk89q.worldguard:worldguard-bukkit:7.0.4") {
exclude("com.sk89q.worldedit", "worldedit-bukkit")
exclude("com.sk89q.worldedit", "worldedit-core")
exclude("com.sk89q.worldedit.worldedit-libs", "bukkit")
exclude("com.sk89q.worldedit.worldedit-libs", "core")
}
2021-03-14 14:19:07 +00:00
compileOnly("net.kyori:adventure-api:4.7.0")
testCompileOnly("net.kyori:adventure-api:4.7.0")
api("com.intellectualsites.paster:Paster:1.0.1-SNAPSHOT")
2020-09-16 14:10:00 +00:00
// Third party
2021-02-14 18:40:15 +00:00
implementation("org.bstats:bstats-bukkit:2.2.1")
implementation("org.bstats:bstats-base:2.2.1")
compileOnlyApi("org.inventivetalent:mapmanager:1.7.10-SNAPSHOT") { isTransitive = false }
implementation("com.github.TechFortress:GriefPrevention:16.17.1") { isTransitive = false }
implementation("com.massivecraft:mcore:7.0.1") { isTransitive = false }
implementation("com.bekvon.bukkit.residence:Residence:4.5._13.1") { isTransitive = false }
implementation("com.palmergames.bukkit:towny:0.84.0.9") { isTransitive = false }
implementation("com.thevoxelbox.voxelsniper:voxelsniper:5.171.0") { isTransitive = false }
implementation("com.comphenix.protocol:ProtocolLib:4.6.0") { isTransitive = false }
2021-01-30 12:14:48 +00:00
implementation("de.notmyfault:serverlib:1.0.1")
2019-08-26 04:45:03 +00:00
}
tasks.named<Copy>("processResources") {
val internalVersion = project.ext["internalVersion"]
inputs.property("internalVersion", internalVersion)
2019-08-26 04:45:03 +00:00
filesMatching("plugin.yml") {
expand("internalVersion" to internalVersion)
2019-08-26 04:45:03 +00:00
}
// exclude adapters entirely from this JAR, they should only be in the shadow JAR
2020-01-29 21:13:28 +00:00
exclude("**/worldedit-adapters.jar")
2019-08-26 04:45:03 +00:00
}
2019-12-16 11:00:12 +00:00
tasks.named<Jar>("jar") {
manifest {
attributes("Class-Path" to CLASSPATH,
"WorldEdit-Version" to project.version)
}
}
2019-08-26 04:45:03 +00:00
addJarManifest(WorldEditKind.Plugin, includeClasspath = true)
2019-08-26 04:45:03 +00:00
tasks.named<ShadowJar>("shadowJar") {
from(zipTree("src/main/resources/worldedit-adapters.jar").matching {
exclude("META-INF/")
})
2021-03-26 20:21:45 +00:00
archiveFileName.set("FastAsyncWorldEdit-Bukkit-${project.version}.jar")
2019-08-26 04:45:03 +00:00
dependencies {
relocate("org.slf4j", "com.sk89q.worldedit.slf4j")
relocate("org.apache.logging.slf4j", "com.sk89q.worldedit.log4jbridge")
relocate("org.antlr.v4", "com.sk89q.worldedit.antlr4")
2019-08-26 04:45:03 +00:00
include(dependency(":worldedit-core"))
include(dependency(":worldedit-libs:bukkit"))
include(dependency("org.slf4j:slf4j-api"))
include(dependency("org.apache.logging.log4j:log4j-slf4j-impl"))
include(dependency("org.antlr:antlr4-runtime"))
relocate("org.bstats", "com.sk89q.worldedit.bstats") {
include(dependency("org.bstats:"))
2021-02-01 14:23:47 +00:00
}
2019-08-26 04:45:03 +00:00
relocate("io.papermc.lib", "com.sk89q.worldedit.bukkit.paperlib") {
include(dependency("io.papermc:paperlib"))
2019-08-26 04:45:03 +00:00
}
relocate("it.unimi.dsi.fastutil", "com.sk89q.worldedit.bukkit.fastutil") {
include(dependency("it.unimi.dsi:fastutil"))
}
relocate("de.notmyfault", "com.boydti.fawe") {
include(dependency("de.notmyfault:serverlib:1.0.1"))
2021-01-24 11:01:03 +00:00
}
2020-12-19 16:18:57 +00:00
relocate("com.intellectualsites.paster", "com.boydti.fawe.paster") {
2020-12-21 14:57:57 +00:00
include(dependency("com.intellectualsites.paster:Paster:1.0.1-SNAPSHOT"))
2020-12-19 16:18:57 +00:00
}
2019-08-26 04:45:03 +00:00
}
}
tasks.named("assemble").configure {
dependsOn("shadowJar")
}