use shadowJar for addon packaging

This commit is contained in:
dfsek 2022-05-05 08:32:48 -07:00
parent 41e7ad35bd
commit 0c302456a2
5 changed files with 10 additions and 31 deletions

View File

@ -43,6 +43,12 @@ afterEvaluate {
configureDistribution() configureDistribution()
} }
forSubProjects(":common:addons") { forSubProjects(":common:addons") {
apply(plugin = "com.github.johnrengelman.shadow")
tasks.named("build") {
finalizedBy(tasks.named("shadowJar"))
}
dependencies { dependencies {
"compileOnly"(project(":common:api")) "compileOnly"(project(":common:api"))
"implementation"("net.jafama", "jafama", Versions.Libraries.Internal.jafama) "implementation"("net.jafama", "jafama", Versions.Libraries.Internal.jafama)

View File

@ -21,11 +21,7 @@ fun Project.addonDir(dir: File, task: Task) {
it.delete() it.delete()
} }
forSubProjects(":common:addons") { forSubProjects(":common:addons") {
val jar = if (tasks.findByName("shadowJar") != null) { val jar = tasks.named("shadowJar").get() as ShadowJar
(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())

View File

@ -146,10 +146,4 @@ fun downloadPack(packUrl: URL, project: Project) {
file.outputStream().write(packUrl.readBytes()) file.outputStream().write(packUrl.readBytes())
} }
fun Project.getJarTask(): Jar { fun Project.getJarTask() = tasks.named("shadowJar").get() as ShadowJar
return if (tasks.findByName("shadowJar") != null) {
(tasks.named("shadowJar").get() as ShadowJar)
} else {
(tasks.named("jar").get() as Jar)
}
}

View File

@ -2,24 +2,16 @@ import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
version = version("0.1.0") version = version("0.1.0")
plugins {
id("com.github.johnrengelman.shadow")
}
repositories { repositories {
maven { url = uri("https://jitpack.io/") } maven { url = uri("https://jitpack.io/") }
} }
dependencies { dependencies {
api("commons-io:commons-io:2.6") api("commons-io:commons-io:2.7")
api("com.github.Querz:NBT:6.1") api("com.github.Querz:NBT:6.1")
compileOnlyApi(project(":common:addons:manifest-addon-loader")) compileOnlyApi(project(":common:addons:manifest-addon-loader"))
} }
tasks.named<ShadowJar>("shadowJar") { tasks.named<ShadowJar>("shadowJar") {
relocate("org.apache.commons", "com.dfsek.terra.addons.sponge.lib.commons") relocate("org.apache.commons", "com.dfsek.terra.addons.sponge.lib.commons")
}
tasks.named("build") {
finalizedBy(tasks.named("shadowJar"))
} }

View File

@ -2,20 +2,11 @@ import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
version = version("0.1.0") version = version("0.1.0")
plugins {
id("com.github.johnrengelman.shadow")
}
dependencies { dependencies {
api("commons-io:commons-io:2.6") api("commons-io:commons-io:2.7")
compileOnlyApi(project(":common:addons:manifest-addon-loader")) compileOnlyApi(project(":common:addons:manifest-addon-loader"))
} }
tasks.named<ShadowJar>("shadowJar") { tasks.named<ShadowJar>("shadowJar") {
relocate("org.apache.commons", "com.dfsek.terra.addons.terrascript.lib.commons") relocate("org.apache.commons", "com.dfsek.terra.addons.terrascript.lib.commons")
}
tasks.named("build") {
finalizedBy(tasks.named("shadowJar"))
} }