skyline/app/build.gradle
PixelyIon b91ce939a2 Introduce CI build signing
We've done no signing of any Skyline APKs to date which causes issues regarding authenticity of any APKs as they could be entirely unofficial builds which have not been vetted by the team. Additionally, the different keys remove the ability to reinstall a different build successively as Android checks for matching signatures before installing an APK.
2022-05-31 01:25:18 +05:30

127 lines
3.3 KiB
Groovy

plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-kapt'
id 'dagger.hilt.android.plugin'
}
android {
namespace 'emu.skyline'
compileSdkVersion 31
buildToolsVersion '33.0.0-rc4'
defaultConfig {
applicationId "skyline.emu"
minSdkVersion 29
targetSdkVersion 31
versionCode 3
versionName "0.0.3"
ndk {
abiFilters "arm64-v8a"
}
}
/* JVM Bytecode Options */
def javaVersion = JavaVersion.VERSION_1_8
compileOptions {
sourceCompatibility = javaVersion
targetCompatibility = javaVersion
}
kotlinOptions {
jvmTarget = javaVersion.toString()
}
signingConfigs {
ci {
storeFile file("${System.getProperty("user.home")}/keystore.jks")
storePassword System.getenv("SIGNING_STORE_PASSWORD")
keyAlias System.getenv("SIGNING_KEY_ALIAS")
keyPassword System.getenv("SIGNING_KEY_PASSWORD")
}
}
buildTypes {
release {
debuggable true
externalNativeBuild {
cmake {
arguments "-DCMAKE_BUILD_TYPE=RELEASE"
}
}
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig = System.getenv("CI") ? signingConfigs.ci : signingConfigs.debug
}
debug {
debuggable true
minifyEnabled false
shrinkResources false
signingConfig = System.getenv("CI") ? signingConfigs.ci : signingConfigs.debug
}
}
buildFeatures {
viewBinding true
}
/* Linting */
lint {
disable 'IconLocation'
}
/* NDK and CMake */
ndkVersion '25.0.8221429'
externalNativeBuild {
cmake {
version '3.18.1+'
path "CMakeLists.txt"
}
}
/* Android Assets */
androidResources {
ignoreAssetsPattern '*.md'
}
/* Vulkan Validation Layers */
sourceSets {
debug {
jniLibs {
srcDir "libraries/vklayers"
}
}
}
}
dependencies {
/* Google */
implementation "androidx.core:core-ktx:1.7.0"
implementation 'androidx.appcompat:appcompat:1.4.1'
implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
implementation 'androidx.preference:preference-ktx:1.2.0'
implementation 'com.google.android.material:material:1.5.0'
implementation 'androidx.documentfile:documentfile:1.0.1'
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"
implementation 'androidx.fragment:fragment-ktx:1.4.1'
implementation "com.google.dagger:hilt-android:$hilt_version"
kapt "com.google.dagger:hilt-android-compiler:$hilt_version"
implementation 'com.google.android.flexbox:flexbox:3.0.0'
/* JetBrains */
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
/* Other Java */
implementation 'info.debatty:java-string-similarity:2.0.0'
}
kapt {
correctErrorTypes true
}