From e58b77267efd7628bd43c54716a6ffb3a62c567d Mon Sep 17 00:00:00 2001 From: Skylot <118523+skylot@users.noreply.github.com> Date: Mon, 22 Sep 2025 22:03:25 +0100 Subject: [PATCH] build: fix distribution artifacts sharing between projects --- build.gradle.kts | 19 +++++++++++++------ jadx-gui/build.gradle.kts | 14 ++++++++++++++ 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index baf2375df..35a5b0cf3 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -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") diff --git a/jadx-gui/build.gradle.kts b/jadx-gui/build.gradle.kts index a309411e1..5353c4193 100644 --- a/jadx-gui/build.gradle.kts +++ b/jadx-gui/build.gradle.kts @@ -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"