aboutsummaryrefslogtreecommitdiff
path: root/build.gradle.kts
diff options
context:
space:
mode:
Diffstat (limited to 'build.gradle.kts')
-rw-r--r--build.gradle.kts47
1 files changed, 32 insertions, 15 deletions
diff --git a/build.gradle.kts b/build.gradle.kts
index 43b495a..b9faf5b 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -1,5 +1,7 @@
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
+import gg.essential.gradle.util.RelocationTransform.Companion.registerRelocationAttribute
import gg.essential.gradle.util.noServerRunConfigs
+import gg.essential.gradle.util.prebundle
plugins {
kotlin("jvm")
@@ -59,6 +61,15 @@ repositories {
maven("https://repo.polyfrost.cc/releases")
}
+val relocated = registerRelocationAttribute("relocate") {
+ relocate("gg.essential", "cc.polyfrost.oneconfig.libs")
+ relocate("me.kbrewster", "cc.polyfrost.oneconfig.libs")
+}
+
+val shadeRelocated: Configuration by configurations.creating {
+ attributes { attribute(relocated, true) }
+}
+
val shade: Configuration by configurations.creating {
configurations.implementation.get().extendsFrom(this)
}
@@ -94,25 +105,33 @@ dependencies {
isTransitive = false
}
- shade("gg.essential:universalcraft-$platform:211") {
+ shadeRelocated("gg.essential:universalcraft-$platform:211") {
isTransitive = false
}
- shade("com.github.KevinPriv:keventbus:c52e0a2ea0") {
+ shadeRelocated("com.github.KevinPriv:keventbus:c52e0a2ea0") {
isTransitive = false
}
// for other mods and universalcraft
- shade("org.jetbrains.kotlin:kotlin-stdlib:1.6.21")
- shade("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.21")
- shade("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21")
- shade("org.jetbrains.kotlin:kotlin-reflect:1.6.21")
- shade("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.1")
- shade("org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.1")
- shade("org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.6.1")
- shade("org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.3")
- shade("org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.3.3")
- shade("org.jetbrains.kotlinx:kotlinx-serialization-cbor-jvm:1.3.3")
+ val kotlinVersion: String by project
+ val coroutinesVersion: String by project
+ val serializationVersion: String by project
+ val atomicfuVersion: String by project
+ val datetimeVersion: String by project
+ shade("org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion")
+ shade("org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion")
+ shade("org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlinVersion")
+ shade("org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion")
+
+ shade("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion")
+ shade("org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:$coroutinesVersion")
+ shade("org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:$coroutinesVersion")
+ shade("org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:$serializationVersion")
+ shade("org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:$serializationVersion")
+ shade("org.jetbrains.kotlinx:kotlinx-serialization-cbor-jvm:$serializationVersion")
+ shade("org.jetbrains.kotlinx:atomicfu-jvm:$atomicfuVersion")
+ shade("org.jetbrains.kotlinx:kotlinx-datetime-jvm:$datetimeVersion")
shade("org.spongepowered:mixin:0.7.11-SNAPSHOT") {
isTransitive = false
@@ -135,6 +154,7 @@ dependencies {
lwjglNative("org.lwjgl:lwjgl-tinyfd:3.3.1:natives-macos")
lwjglNative("org.lwjgl:lwjgl-nanovg:3.3.1:natives-macos")
shade(lwjglJar.get().outputs.files)
+ shade(prebundle(shadeRelocated))
dokkaHtmlPlugin("org.jetbrains.dokka:kotlin-as-java-plugin:1.6.21")
}
@@ -199,9 +219,6 @@ tasks {
archiveClassifier.set("dev")
configurations = listOf(shade, lwjglNative)
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
-
- relocate("gg.essential", "cc.polyfrost.oneconfig.libs")
- relocate("me.kbrewster", "cc.polyfrost.oneconfig.libs")
}
remapJar {
input.set(shadowJar.get().archiveFile)