libpdfviewer/app/build.gradle.kts

125 lines
3.4 KiB
Plaintext
Raw Normal View History

import org.apache.tools.ant.taskdefs.condition.Os
2021-11-21 21:10:47 +01:00
import java.util.Properties
import java.io.FileInputStream
val keystorePropertiesFile = rootProject.file("keystore.properties")
val useKeystoreProperties = keystorePropertiesFile.canRead()
val keystoreProperties = Properties()
if (useKeystoreProperties) {
keystoreProperties.load(FileInputStream(keystorePropertiesFile))
}
plugins {
id("com.android.application")
2021-11-22 16:18:59 +01:00
id("kotlin-android")
2021-11-21 21:10:47 +01:00
}
2023-02-02 03:43:25 +01:00
java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(17))
2023-02-02 03:43:25 +01:00
}
}
2021-11-21 21:10:47 +01:00
android {
if (useKeystoreProperties) {
signingConfigs {
create("release") {
storeFile = rootProject.file(keystoreProperties["storeFile"]!!)
storePassword = keystoreProperties["storePassword"] as String
keyAlias = keystoreProperties["keyAlias"] as String
keyPassword = keystoreProperties["keyPassword"] as String
}
create("play") {
storeFile = rootProject.file(keystoreProperties["storeFile"]!!)
storePassword = keystoreProperties["storePassword"] as String
keyAlias = keystoreProperties["uploadKeyAlias"] as String
keyPassword = keystoreProperties["uploadKeyPassword"] as String
}
2021-11-21 21:10:47 +01:00
}
}
2023-08-26 00:31:25 +02:00
compileSdk = 34
2023-07-30 19:21:32 +02:00
buildToolsVersion = "34.0.0"
2021-11-21 21:10:47 +01:00
namespace = "app.grapheneos.pdfviewer"
2021-11-21 21:10:47 +01:00
defaultConfig {
2022-02-23 13:22:58 +01:00
applicationId = "app.grapheneos.pdfviewer"
2021-11-21 21:10:47 +01:00
minSdk = 26
2023-10-22 07:27:55 +02:00
targetSdk = 34
2023-07-04 03:00:11 +02:00
versionCode = 18
2021-11-21 21:10:47 +01:00
versionName = versionCode.toString()
resourceConfigurations.add("en")
2021-11-21 21:10:47 +01:00
}
buildTypes {
getByName("debug") {
applicationIdSuffix = ".debug"
}
getByName("release") {
isShrinkResources = true
isMinifyEnabled = true
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
if (useKeystoreProperties) {
signingConfig = signingConfigs.getByName("release")
}
}
create("play") {
initWith(getByName("release"))
applicationIdSuffix = ".play"
if (useKeystoreProperties) {
signingConfig = signingConfigs.getByName("play")
}
}
buildFeatures {
viewBinding = true
buildConfig = true
}
2021-11-21 21:10:47 +01:00
}
compileOptions {
sourceCompatibility(JavaVersion.VERSION_17)
targetCompatibility(JavaVersion.VERSION_17)
2021-11-21 21:10:47 +01:00
}
2021-11-25 05:13:47 +01:00
kotlinOptions {
jvmTarget = JavaVersion.VERSION_17.toString()
2021-11-25 05:13:47 +01:00
}
2021-11-21 21:10:47 +01:00
}
dependencies {
implementation("androidx.appcompat:appcompat:1.6.1")
implementation("com.google.android.material:material:1.11.0")
2021-11-21 21:10:47 +01:00
}
fun getCommand(command: String, winExt: String = "cmd"): String {
return if (Os.isFamily(Os.FAMILY_WINDOWS)) "$command.$winExt" else command
}
val npmSetup = tasks.register("npmSetup", Exec::class) {
workingDir = rootDir
commandLine(getCommand("npm"), "ci", "--ignore-scripts")
}
val processStatic = tasks.register("processStatic", Exec::class) {
workingDir = rootDir
dependsOn(npmSetup)
commandLine(getCommand("node", "exe"), "process_static.js")
}
val cleanStatic = tasks.register("cleanStatic", Delete::class) {
delete("src/main/assets/viewer", "src/debug/assets/viewer")
}
tasks.preBuild {
dependsOn(processStatic)
}
tasks.clean {
dependsOn(cleanStatic)
}