build: fix distribution artifacts sharing between projects

This commit is contained in:
Skylot
2025-09-22 22:03:25 +01:00
parent 73913651b4
commit e58b77267e
2 changed files with 27 additions and 6 deletions
+13 -6
View File
@@ -82,6 +82,17 @@ fun isNonStable(version: String): Boolean {
return isStable.not()
}
val distWinConfiguration: Configuration by configurations.creating {
isCanBeConsumed = false
}
val distWinWithJreConfiguration: Configuration by configurations.creating {
isCanBeConsumed = false
}
dependencies {
distWinConfiguration(project(":jadx-gui", "distWinConfiguration"))
distWinWithJreConfiguration(project(":jadx-gui", "distWinWithJreConfiguration"))
}
val copyArtifacts by tasks.registering(Copy::class) {
val jarCliPattern = "jadx-cli-(.*)-all.jar".toPattern()
from(tasks.getByPath(":jadx-cli:installShadowDist")) {
@@ -119,9 +130,7 @@ val distWin by tasks.registering(Zip::class) {
group = "jadx"
description = "Build Windows bundle"
val guiTask = tasks.getByPath("jadx-gui:copyDistWin")
dependsOn(guiTask)
from(guiTask.outputs)
from(distWinConfiguration)
destinationDirectory.set(layout.buildDirectory.dir("distWin"))
archiveFileName.set("jadx-gui-$jadxVersion-win.zip")
@@ -131,9 +140,7 @@ val distWin by tasks.registering(Zip::class) {
val distWinWithJre by tasks.registering(Zip::class) {
description = "Build Windows with JRE bundle"
val guiTask = tasks.getByPath(":jadx-gui:copyDistWinWithJre")
dependsOn(guiTask)
from(guiTask.outputs)
from(distWinWithJreConfiguration)
destinationDirectory.set(layout.buildDirectory.dir("distWinWithJre"))
archiveFileName.set("jadx-gui-$jadxVersion-with-jre-win.zip")
+14
View File
@@ -228,6 +228,20 @@ val copyDistWinWithJre by tasks.registering(Copy::class) {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}
/**
* Register and expose distribution artifacts to use in top level packaging tasks
*/
val distWinConfiguration by configurations.creating {
isCanBeResolved = false
}
val distWinWithJreConfiguration by configurations.creating {
isCanBeResolved = false
}
artifacts {
add(distWinConfiguration.name, copyDistWin)
add(distWinWithJreConfiguration.name, copyDistWinWithJre)
}
val syncNLSLines by tasks.registering(JavaExec::class) {
group = "jadx-dev"
description = "Utility task to sync new/missing translation using EN as a reference"