-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle.kts
108 lines (91 loc) · 3.11 KB
/
build.gradle.kts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
plugins {
`java-library`
id("com.github.johnrengelman.shadow") version "8.1.1"
val indraVersion = "3.1.3"
id("net.kyori.indra") version indraVersion
id("net.kyori.indra.git") version indraVersion
id("xyz.jpenilla.run-paper") version "2.3.0"
id("xyz.jpenilla.resource-factory-bukkit-convention") version "1.1.1"
}
group = "uk.mangostudios"
version = "1.0.3"
description = "FindItemAddOn for QuickShop"
bukkitPluginYaml {
main = "uk.mangostudios.finditemaddon.FindItemAddOn"
apiVersion = "1.20"
authors = listOf("myzticbean","lukemango")
depend = listOf("QuickShop-Hikari", "PlayerWarps", "HeadDatabase", "Vault")
}
repositories {
mavenCentral()
maven ("https://jitpack.io")
maven ("https://repo.papermc.io/repository/maven-public/")
maven ("https://oss.sonatype.org/content/groups/public/")
maven ("https://repo.olziedev.com/") // PlayerWarps
maven ("https://repo.codemc.io/repository/maven-public/") // QuickShop-Hikari
maven ("https://repo.mattstudios.me/artifactory/public/") // TriumphGui
}
dependencies {
// Paper
compileOnly("io.papermc.paper:paper-api:1.21.1-R0.1-SNAPSHOT")
// Cloud
implementation("org.incendo:cloud-paper:2.0.0-beta.8")
implementation("org.incendo:cloud-minecraft-extras:2.0.0-beta.8")
implementation("org.incendo:cloud-annotations:2.0.0-rc.2")
// PlayerWarps
compileOnly("com.olziedev:playerwarps-api:6.30.0")
// QuickShop-Hikari
compileOnly("com.ghostchu:quickshop-bukkit:6.2.0.5")
// QuickShop-API
compileOnly("com.ghostchu:quickshop-api:6.2.0.5")
// TriumphGui
implementation("dev.triumphteam:triumph-gui:3.1.10") { exclude("net.kyori") }
// Head Database
compileOnly("com.arcaniax:HeadDatabase-API:1.3.2")
// Vault
compileOnly("com.github.MilkBowl:VaultAPI:1.7")
}
indra {
javaVersions().target(21)
}
tasks {
assemble {
dependsOn(shadowJar)
}
jar {
archiveClassifier.set("noshade")
}
shadowJar {
archiveFileName.set("${project.name}.jar") //-${project.version}
sequenceOf(
"io.papermc.lib",
"io.leangen.geantyref",
"com.github.KodySimpson",
"dev.triumphteam"
).forEach {
relocate(it, "io.myzticbean.finditemaddon.lib.$it")
}
}
processResources {
val tokens = mapOf(
"project.version" to project.version
)
inputs.properties(tokens)
filesMatching("**/*.yml") {
// Some of our files are too large to use Groovy templating
filter { string ->
var result = string
for ((key, value) in tokens) {
result = result.replace("\${$key}", value.toString())
}
result
}
}
}
compileJava {
options.compilerArgs.add("-Xlint:-classfile,-processing")
}
}
fun lastCommitHash(): String = indraGit.commit()?.name?.substring(0, 7)
?: error("Could not determine commit hash")
fun String.decorateVersion(): String = if (endsWith("-SNAPSHOT")) "$this+${lastCommitHash()}" else this