|
|
|
// Copyright 2021 yuyezhong@gmail.com
|
|
|
|
//
|
|
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
// you may not use this file except in compliance with the License.
|
|
|
|
// You may obtain a copy of the License at
|
|
|
|
//
|
|
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
//
|
|
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
// See the License for the specific language governing permissions and
|
|
|
|
// limitations under the License.
|
|
|
|
|
|
|
|
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
|
|
|
|
|
|
|
plugins {
|
|
|
|
kotlin("jvm") version "1.5.31"
|
|
|
|
application
|
|
|
|
}
|
|
|
|
|
|
|
|
repositories {
|
|
|
|
mavenCentral()
|
|
|
|
}
|
|
|
|
|
|
|
|
dependencies {
|
|
|
|
constraints {
|
|
|
|
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
|
|
|
|
}
|
|
|
|
|
|
|
|
//kotlin
|
|
|
|
implementation(platform("org.jetbrains.kotlin:kotlin-bom"))
|
|
|
|
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
|
|
|
|
implementation("org.jetbrains.kotlin:kotlin-reflect")
|
|
|
|
|
|
|
|
implementation("org.slf4j:slf4j-simple:1.7.31")
|
|
|
|
implementation("org.slf4j:slf4j-api:1.7.31")
|
|
|
|
implementation("com.fasterxml.jackson.core:jackson-annotations:2.12.3")
|
|
|
|
implementation("com.fasterxml.jackson.core:jackson-databind:2.12.3")
|
|
|
|
implementation("com.google.guava:guava:18.0")
|
|
|
|
implementation("org.apache.commons:commons-exec:1.3")
|
|
|
|
implementation("org.apache.commons:commons-compress:1.20")
|
|
|
|
implementation("org.tukaani:xz:1.9")
|
|
|
|
implementation("commons-codec:commons-codec:1.15")
|
|
|
|
implementation("junit:junit:4.12")
|
|
|
|
implementation("org.bouncycastle:bcprov-jdk15on:1.69")
|
|
|
|
implementation("de.vandermeer:asciitable:0.3.2")
|
|
|
|
implementation(project(":helper"))
|
|
|
|
|
|
|
|
testImplementation("org.jetbrains.kotlin:kotlin-test")
|
|
|
|
testImplementation("org.jetbrains.kotlin:kotlin-test-junit")
|
|
|
|
}
|
|
|
|
|
|
|
|
application {
|
|
|
|
mainClass.set("cfig.packable.PackableLauncherKt")
|
|
|
|
}
|
|
|
|
|
|
|
|
tasks.withType<KotlinCompile>().all {
|
|
|
|
kotlinOptions {
|
|
|
|
freeCompilerArgs += "-Xopt-in=kotlin.RequiresOptIn"
|
|
|
|
freeCompilerArgs += "-Xopt-in=kotlin.ExperimentalUnsignedTypes"
|
|
|
|
jvmTarget = "11"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
tasks {
|
|
|
|
jar {
|
|
|
|
manifest {
|
|
|
|
attributes["Implementation-Title"] = "Android image reverse engineering toolkit"
|
|
|
|
attributes["Main-Class"] = "cfig.packable.PackableLauncherKt"
|
|
|
|
}
|
|
|
|
from(configurations.runtimeClasspath.get().map({ if (it.isDirectory) it else zipTree(it) }))
|
|
|
|
excludes.addAll(mutableSetOf("META-INF/*.RSA", "META-INF/*.SF", "META-INF/*.DSA"))
|
|
|
|
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
|
|
|
|
dependsOn(":helper:jar")
|
|
|
|
}
|
|
|
|
test {
|
|
|
|
testLogging {
|
|
|
|
showExceptions = true
|
|
|
|
showStackTraces = true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|