manually specify shadowjar task on shaded addons

This commit is contained in:
dfsek
2021-12-30 01:22:50 -07:00
parent 7039a28326
commit 570a3bccc5
4 changed files with 19 additions and 5 deletions

View File

@@ -1,3 +1,4 @@
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
import java.io.File
import java.util.function.Predicate
import org.gradle.api.Project
@@ -20,7 +21,11 @@ fun Project.addonDir(dir: File, task: Task) {
it.delete()
}
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 target = File(dir, boot + jar.archiveFileName.get())

View File

@@ -9,6 +9,7 @@ import java.util.zip.ZipOutputStream
import org.gradle.api.DefaultTask
import org.gradle.api.Project
import org.gradle.api.plugins.BasePluginExtension
import org.gradle.api.tasks.bundling.AbstractArchiveTask
import org.gradle.jvm.tasks.Jar
import org.gradle.kotlin.dsl.apply
import org.gradle.kotlin.dsl.configure
@@ -34,7 +35,12 @@ fun Project.configureDistribution() {
group = "terra"
forSubProjects(":common:addons") {
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))
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")
val boot = if (extra.has("bootstrap") && extra.get("bootstrap") as Boolean) "bootstrap/" else ""

View File

@@ -17,7 +17,6 @@ dependencies {
}
tasks.named<ShadowJar>("shadowJar") {
archiveClassifier.set("")
relocate("org.apache.commons", "com.dfsek.terra.addons.sponge.lib.commons")
}

View File

@@ -13,7 +13,6 @@ dependencies {
}
tasks.named<ShadowJar>("shadowJar") {
archiveClassifier.set("")
relocate("org.apache.commons", "com.dfsek.terra.addons.terrascript.lib.commons")
}