jadx/jadx-gui/build.gradle
Yaroslav ee12f0bd18
feat(gui): use SVG icons, xml resources impovements (PR #1221)
* fix(xml): add more file based resources type to skip
* fix(res): fix #1060, styles might contain dots in name
* fix(res): use lowercase name on deobfuscated\renamed resources names and id in hex format
* feat(gui): update gui under FlatLaf
* fix(gui): use FlatSVGIcon to fix icons brightness difference
* fix(gui): use source lines only decompiled java code
Co-authored-by: MrIkso <mrkso821@gmail.com>
2021-08-04 20:40:49 +03:00

94 lines
2.7 KiB
Groovy

plugins {
id 'application'
id 'edu.sc.seis.launch4j' version '2.5.0'
id 'com.github.johnrengelman.shadow' version '7.0.0'
}
dependencies {
implementation(project(':jadx-core'))
implementation(project(":jadx-cli"))
implementation 'com.beust:jcommander:1.81'
implementation 'ch.qos.logback:logback-classic:1.2.5'
implementation 'com.fifesoft:rsyntaxtextarea:3.1.3'
implementation files('libs/jfontchooser-1.0.5.jar')
implementation 'hu.kazocsaba:image-viewer:1.2.3'
implementation 'com.formdev:flatlaf:1.4'
implementation 'com.formdev:flatlaf-intellij-themes:1.4'
implementation 'com.formdev:flatlaf-extras:1.4'
implementation 'com.formdev:svgSalamander:1.1.2.4'
implementation 'org.reflections:reflections:0.9.12'
implementation 'com.google.code.gson:gson:2.8.6'
implementation 'org.apache.commons:commons-lang3:3.12.0'
implementation 'org.apache.commons:commons-text:1.9'
implementation 'io.reactivex.rxjava2:rxjava:2.2.21'
implementation "com.github.akarnokd:rxjava2-swing:0.3.7"
implementation 'com.android.tools.build:apksig:4.2.1'
implementation 'io.github.hqktech:jdwp:1.0'
}
application {
applicationName = 'jadx-gui'
mainClass.set('jadx.gui.JadxGUI')
}
applicationDistribution.with {
into('') {
from '../'
include 'README.md'
include 'NOTICE'
include 'LICENSE'
}
}
jar {
manifest {
attributes(
"Main-Class": application.mainClass.get(),
"Class-Path": configurations.runtimeClasspath.collect { it.getName() }.join(' ')
)
}
}
shadow {
mainClassName = application.mainClass.get()
}
shadowJar {
mergeServiceFiles()
}
startScripts {
// The option -XX:+UseG1GC is only relevant for Java 8. Starting with Java 9 G1GC is already the default GC
defaultJvmOpts = ['-Xms128M', '-Xmx4g', '-Dawt.useSystemAAFontSettings=lcd', '-Dswing.aatext=true', '-XX:+UseG1GC']
doLast {
def str = windowsScript.text
str = str.replaceAll('java.exe', 'javaw.exe')
str = str.replaceAll('"%JAVA_EXE%" %DEFAULT_JVM_OPTS%', 'start "jadx-gui" /B "%JAVA_EXE%" %DEFAULT_JVM_OPTS%')
windowsScript.text = str
}
}
launch4j {
mainClassName = application.mainClass.get()
copyConfigurable = project.tasks.shadowJar.outputs.files
jarTask = project.tasks.shadowJar
icon = "${projectDir}/src/main/resources/logos/jadx-logo.ico"
outfile = "jadx-gui-${version}.exe"
copyright = 'Skylot'
windowTitle = 'jadx'
companyName = 'jadx'
jreMinVersion = '1.8.0'
jvmOptions = ['-Dawt.useSystemAAFontSettings=lcd', '-Dswing.aatext=true', '-XX:+UseG1GC']
jreRuntimeBits = "64"
bundledJre64Bit = true
initialHeapPercent = 5
maxHeapSize = 4096
maxHeapPercent = 70
downloadUrl = 'https://adoptopenjdk.net/releases.html?variant=openjdk11&jvmVariant=hotspot#x64_win'
bundledJrePath = '%JAVA_HOME%'
}