-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathbuild.gradle.kts
More file actions
120 lines (101 loc) · 3.06 KB
/
build.gradle.kts
File metadata and controls
120 lines (101 loc) · 3.06 KB
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
109
110
111
112
113
114
115
116
117
118
119
120
import ru.endlesscode.bukkitgradle.dependencies.aikar
import ru.endlesscode.bukkitgradle.dependencies.codemc
import ru.endlesscode.bukkitgradle.dependencies.papermc
plugins {
commons
publish
alias(libs.plugins.shadow)
alias(libs.plugins.bukkitgradle)
kotlin("plugin.serialization")
}
description = "Bukkit plugin implementing Mimic APIs"
bukkit {
apiVersion = "1.20"
plugin {
name = "Mimic"
main = "ru.endlesscode.mimic.MimicPlugin"
authors = listOf("osipxd", "EndlessCodeGroup")
website = "https://github.com/EndlessCodeGroup/Mimic"
softDepend = listOf("CommandAPI")
loadBefore = listOf(
"SkillAPI",
"BattleLevels",
"CustomItems",
"MMOCore",
"MMOItems",
"Heroes",
"QuantumRPG",
)
}
server {
version = "1.21.5"
eula = true
}
}
tasks.runServer {
downloadPlugins {
github("CommandAPI", "CommandAPI", "10.0.0", "CommandAPI-10.0.0.jar")
}
}
repositories {
papermc()
maven(url = "https://gitlab.com/endlesscodegroup/mvn-repo/raw/master/")
maven(url = "https://mvn.lumine.io/repository/maven-public/") {
content {
includeModule("me.robin", "BattleLevels")
}
}
maven("https://nexus.phoenixdevt.fr/repository/maven-public/") {
content {
includeGroup("net.Indyuce")
includeModule("io.lumine", "MythicLib-dist")
}
}
aikar()
codemc()
// Uncomment if you want to get Heroes from maven repo
//maven(url = "https://nexus.hc.to/content/repositories/pub_releases/")
flatDir { dir("libs") }
}
dependencies {
api(projects.mimicBukkitApi)
compileOnly(libs.paperApi)
compileOnly(libs.annotations)
implementation(libs.bstats)
implementation(libs.serialization.hocon)
compileOnly(libs.commandapi)
compileOnly(libs.commandapi.kotlin)
compileOnly(libs.bundles.rpgplugins) { isTransitive = false }
// From libs/ directory
compileOnly(":CustomItemsAPI")
compileOnly(":QuantumRPG:5.10.2")
compileOnly(":NexEngine:2.0.3") // Do not update NexEngine. QuantumRpgWrapper cannot compile with a higher version
testImplementation(libs.paperApi)
testImplementation(libs.rpgplugins.skillapi)
}
kotlin {
compilerOptions {
optIn.add("kotlinx.serialization.ExperimentalSerializationApi")
}
}
tasks.test {
javaLauncher = javaToolchains.launcherFor {
languageVersion = JavaLanguageVersion.of(17)
}
}
tasks.shadowJar {
dependencies {
exclude(dependency("org.jetbrains:annotations:.*"))
}
val shadePackage = "${project.group}.shade"
relocate("kotlin", "$shadePackage.kotlin")
relocate("org.bstats", "$shadePackage.bstats")
relocate("com.typesafe.config", "$shadePackage.hocon")
exclude("META-INF/*.kotlin_module")
exclude("META-INF/com.android.tools/**")
exclude("META-INF/proguard/**")
exclude("META-INF/maven/**")
exclude("META-INF/**/module-info.class")
exclude("LICENSE")
minimize()
}