// 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.6.10" 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.32") implementation("org.slf4j:slf4j-api:1.7.32") implementation("com.fasterxml.jackson.core:jackson-annotations:2.13.1") implementation("com.fasterxml.jackson.core:jackson-databind:2.13.1") implementation("com.google.guava:guava:31.0.1-jre") implementation("org.apache.commons:commons-exec:1.3") implementation("org.apache.commons:commons-compress:1.21") implementation("org.tukaani:xz:1.9") implementation("commons-codec:commons-codec:1.15") implementation("junit:junit:4.13.2") 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().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 } } }