Apktool/brut.apktool/apktool-lib/build.gradle.kts
2023-08-11 00:56:49 +02:00

69 lines
2.4 KiB
Plaintext

val baksmaliVersion: String by rootProject.extra
val smaliVersion: String by rootProject.extra
val xmlpullVersion: String by rootProject.extra
val guavaVersion: String by rootProject.extra
val commonsLangVersion: String by rootProject.extra
val commonsIoVersion: String by rootProject.extra
val commonsTextVersion: String by rootProject.extra
val junitVersion: String by rootProject.extra
val xmlunitVersion: String by rootProject.extra
val gitRevision: String by rootProject.extra
val apktoolVersion: String by rootProject.extra
// region Determine Android SDK location
val sdkRoot: String? = System.getenv("ANDROID_SDK_ROOT")
val androidJarPath: String = if (sdkRoot == null) {
GradleException("Missing ANDROID_SDK_ROOT").printStackTrace()
"com.google.android:android:4.1.1.4"
} else {
val androidVersion = 33
File("$sdkRoot/platforms/android-$androidVersion/android.jar").path
}
// endregion
tasks {
processResources {
from("src/main/resources/properties") {
include("**/*.properties")
into("properties")
expand("version" to apktoolVersion, "gitrev" to gitRevision)
duplicatesStrategy = DuplicatesStrategy.INCLUDE
}
from("src/main/resources") {
include("**/*.jar")
duplicatesStrategy = DuplicatesStrategy.INCLUDE
}
includeEmptyDirs = false
}
test {
// https://github.com/iBotPeaches/Apktool/issues/3174 - CVE-2023-22036
// Increases validation of extra field of zip header. Some older Android applications
// used this field to store data violating the zip specification.
systemProperty("jdk.util.zip.disableZip64ExtraFieldValidation", true)
}
}
dependencies {
api(project(":brut.j.dir"))
api(project(":brut.j.util"))
api(project(":brut.j.common"))
implementation("com.android.tools.smali:smali-baksmali:$baksmaliVersion")
implementation("com.android.tools.smali:smali:$smaliVersion")
implementation("xpp3:xpp3:$xmlpullVersion")
implementation("com.google.guava:guava:$guavaVersion")
implementation("org.apache.commons:commons-lang3:$commonsLangVersion")
implementation("commons-io:commons-io:$commonsIoVersion")
implementation("org.apache.commons:commons-text:$commonsTextVersion")
testImplementation("junit:junit:$junitVersion")
testImplementation("org.xmlunit:xmlunit-legacy:$xmlunitVersion")
compileOnly(files(androidJarPath))
}