From 46b07863c1df663a9d497847dbf0f4b536252989 Mon Sep 17 00:00:00 2001 From: Skylot Date: Sat, 20 Nov 2021 20:24:30 +0000 Subject: [PATCH] build: fix bundle build --- build.gradle | 31 +++++++++++-------- .../core/dex/visitors/SignatureProcessor.java | 2 +- jadx-gui/build.gradle | 19 ++---------- 3 files changed, 21 insertions(+), 31 deletions(-) diff --git a/build.gradle b/build.gradle index 786b55819..e0216afdd 100644 --- a/build.gradle +++ b/build.gradle @@ -135,19 +135,7 @@ task copyExe(type: Copy) { duplicatesStrategy = DuplicatesStrategy.EXCLUDE } -task dist { - group 'jadx' - description = 'Build jadx distribution zip' - - dependsOn(pack) - - OperatingSystem os = org.gradle.nativeplatform.platform.internal.DefaultNativePlatform.currentOperatingSystem; - if (os.isWindows()) { - dependsOn('copyExe') - } -} - -task distWin(type: Copy, dependsOn: 'jadx-gui:distWinWithJre') { +task distWinBundle(type: Copy, dependsOn: 'jadx-gui:distWinWithJre') { group 'jadx' description = 'Copy bundle to build dir' destinationDir buildDir @@ -157,6 +145,23 @@ task distWin(type: Copy, dependsOn: 'jadx-gui:distWinWithJre') { duplicatesStrategy = DuplicatesStrategy.EXCLUDE } +task dist { + group 'jadx' + description = 'Build jadx distribution zip' + + dependsOn(pack) + + OperatingSystem os = org.gradle.nativeplatform.platform.internal.DefaultNativePlatform.currentOperatingSystem; + if (os.isWindows()) { + if (project.hasProperty("bundleJRE")) { + println("Build win bundle with JRE") + dependsOn('distWinBundle') + } else { + dependsOn('copyExe') + } + } +} + task cleanBuildDir(type: Delete) { group 'jadx' delete buildDir diff --git a/jadx-core/src/main/java/jadx/core/dex/visitors/SignatureProcessor.java b/jadx-core/src/main/java/jadx/core/dex/visitors/SignatureProcessor.java index e22e11248..981df7b74 100644 --- a/jadx-core/src/main/java/jadx/core/dex/visitors/SignatureProcessor.java +++ b/jadx-core/src/main/java/jadx/core/dex/visitors/SignatureProcessor.java @@ -129,7 +129,7 @@ public class SignatureProcessor extends AbstractVisitor { if (checkedArgTypes == null) { return false; } - mth.updateTypes(Utils.lockList(checkedArgTypes), retType); + mth.updateTypes(Collections.unmodifiableList(checkedArgTypes), retType); return true; } catch (Exception e) { mth.addWarnComment("Type validation failed for signature: " + sp.getSignature(), e); diff --git a/jadx-gui/build.gradle b/jadx-gui/build.gradle index f5c8a1f64..03ccdce4d 100644 --- a/jadx-gui/build.gradle +++ b/jadx-gui/build.gradle @@ -89,7 +89,7 @@ launch4j { maxHeapSize = 4096 maxHeapPercent = 70 downloadUrl = 'https://www.oracle.com/java/technologies/downloads/#jdk17-windows' - bundledJrePath = '%JAVA_HOME%' + bundledJrePath = project.hasProperty("bundleJRE") ? '%EXEDIR%/jre' : '%JAVA_HOME%' } runtime { @@ -110,19 +110,7 @@ runtime { } } -tasks.register('distLaunch4jConfig') { - def configFile = layout.buildDirectory.file("jadx-gui-${version}.l4j.ini") - outputs.file(configFile).withPropertyName('outputFiles') - - doLast { - configFile.get().getAsFile().write(""" -# Launch4j runtime config --DJAVA_HOME="%EXEDIR%/jre" -""".trim()) - } -} - -task distWinWithJre(type: Zip, dependsOn: ['runtime', 'createExe', 'distLaunch4jConfig']) { +task distWinWithJre(type: Zip, dependsOn: ['runtime', 'createExe']) { group 'jadx' destinationDirectory = buildDir archiveFileName = "jadx-gui-${jadxVersion}-with-jre-win.zip" @@ -133,8 +121,5 @@ task distWinWithJre(type: Zip, dependsOn: ['runtime', 'createExe', 'distLaunch4j from(createExe.outputs) { include '*.exe' } - from(distLaunch4jConfig.outputs) { - include '*.ini' - } duplicatesStrategy = DuplicatesStrategy.EXCLUDE }