mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-06-17 14:21:08 +00:00
manually specify shadowjar task on shaded addons
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
|
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.util.function.Predicate
|
import java.util.function.Predicate
|
||||||
import org.gradle.api.Project
|
import org.gradle.api.Project
|
||||||
@@ -20,7 +21,11 @@ fun Project.addonDir(dir: File, task: Task) {
|
|||||||
it.delete()
|
it.delete()
|
||||||
}
|
}
|
||||||
forSubProjects(":common:addons") {
|
forSubProjects(":common:addons") {
|
||||||
val jar = (tasks.named("jar").get() as Jar)
|
val jar = if(tasks.findByName("shadowJar") != null) {
|
||||||
|
(tasks.named("shadowJar").get() as ShadowJar)
|
||||||
|
} else {
|
||||||
|
(tasks.named("jar").get() as Jar)
|
||||||
|
}
|
||||||
|
|
||||||
val boot = if (extra.has("bootstrap") && extra.get("bootstrap") as Boolean) "bootstrap/" else ""
|
val boot = if (extra.has("bootstrap") && extra.get("bootstrap") as Boolean) "bootstrap/" else ""
|
||||||
val target = File(dir, boot + jar.archiveFileName.get())
|
val target = File(dir, boot + jar.archiveFileName.get())
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import java.util.zip.ZipOutputStream
|
|||||||
import org.gradle.api.DefaultTask
|
import org.gradle.api.DefaultTask
|
||||||
import org.gradle.api.Project
|
import org.gradle.api.Project
|
||||||
import org.gradle.api.plugins.BasePluginExtension
|
import org.gradle.api.plugins.BasePluginExtension
|
||||||
|
import org.gradle.api.tasks.bundling.AbstractArchiveTask
|
||||||
import org.gradle.jvm.tasks.Jar
|
import org.gradle.jvm.tasks.Jar
|
||||||
import org.gradle.kotlin.dsl.apply
|
import org.gradle.kotlin.dsl.apply
|
||||||
import org.gradle.kotlin.dsl.configure
|
import org.gradle.kotlin.dsl.configure
|
||||||
@@ -34,7 +35,12 @@ fun Project.configureDistribution() {
|
|||||||
group = "terra"
|
group = "terra"
|
||||||
forSubProjects(":common:addons") {
|
forSubProjects(":common:addons") {
|
||||||
afterEvaluate {
|
afterEvaluate {
|
||||||
dependsOn(tasks.getByName("build")) // Depend on addon JARs
|
if(tasks.findByName("shadowJar") != null) {
|
||||||
|
dependsOn(tasks.getByName("shadowJar")) // Depend on addon JARs
|
||||||
|
println("Using shaded JAR for addon ${this.name}")
|
||||||
|
} else {
|
||||||
|
dependsOn(tasks.getByName("build")) // Depend on addon JARs
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -52,7 +58,12 @@ fun Project.configureDistribution() {
|
|||||||
val zip = ZipOutputStream(FileOutputStream(dest))
|
val zip = ZipOutputStream(FileOutputStream(dest))
|
||||||
|
|
||||||
forSubProjects(":common:addons") {
|
forSubProjects(":common:addons") {
|
||||||
val jar = (tasks.named("jar").get() as Jar)
|
val jar = if(tasks.findByName("shadowJar") != null) {
|
||||||
|
(tasks.named("shadowJar").get() as ShadowJar)
|
||||||
|
} else {
|
||||||
|
(tasks.named("jar").get() as Jar)
|
||||||
|
}
|
||||||
|
|
||||||
println("Packaging addon ${jar.archiveFileName.get()} to ${dest.absolutePath}. size: ${jar.archiveFile.get().asFile.length() / 1024}KB")
|
println("Packaging addon ${jar.archiveFileName.get()} to ${dest.absolutePath}. size: ${jar.archiveFile.get().asFile.length() / 1024}KB")
|
||||||
|
|
||||||
val boot = if (extra.has("bootstrap") && extra.get("bootstrap") as Boolean) "bootstrap/" else ""
|
val boot = if (extra.has("bootstrap") && extra.get("bootstrap") as Boolean) "bootstrap/" else ""
|
||||||
|
|||||||
@@ -17,7 +17,6 @@ dependencies {
|
|||||||
}
|
}
|
||||||
|
|
||||||
tasks.named<ShadowJar>("shadowJar") {
|
tasks.named<ShadowJar>("shadowJar") {
|
||||||
archiveClassifier.set("")
|
|
||||||
relocate("org.apache.commons", "com.dfsek.terra.addons.sponge.lib.commons")
|
relocate("org.apache.commons", "com.dfsek.terra.addons.sponge.lib.commons")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ dependencies {
|
|||||||
}
|
}
|
||||||
|
|
||||||
tasks.named<ShadowJar>("shadowJar") {
|
tasks.named<ShadowJar>("shadowJar") {
|
||||||
archiveClassifier.set("")
|
|
||||||
relocate("org.apache.commons", "com.dfsek.terra.addons.terrascript.lib.commons")
|
relocate("org.apache.commons", "com.dfsek.terra.addons.terrascript.lib.commons")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user