thumb-key/app/build.gradle
2024-08-15 08:50:34 -04:00

126 lines
3.8 KiB
Groovy

plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
id 'org.jetbrains.kotlin.plugin.compose'
id 'com.google.devtools.ksp'
}
android {
buildToolsVersion = "34.0.0"
compileSdk 34
defaultConfig {
applicationId "com.dessalines.thumbkey"
minSdk 21
targetSdkVersion 34
versionCode 102
versionName "3.4.1"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables {
useSupportLibrary true
}
ksp { arg('room.schemaLocation', "$projectDir/schemas") }
}
// Necessary for izzyondroid releases
dependenciesInfo {
// Disables dependency metadata when building APKs.
includeInApk = false
// Disables dependency metadata when building Android App Bundles.
includeInBundle = false
}
if (project.hasProperty("RELEASE_STORE_FILE")) {
signingConfigs {
release {
storeFile file(RELEASE_STORE_FILE)
storePassword RELEASE_STORE_PASSWORD
keyAlias RELEASE_KEY_ALIAS
keyPassword RELEASE_KEY_PASSWORD
// Optional, specify signing versions used
v1SigningEnabled true
v2SigningEnabled true
}
}
}
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
if (project.hasProperty("RELEASE_STORE_FILE")) {
signingConfig signingConfigs.release
}
}
debug {
applicationIdSuffix '.debug'
versionNameSuffix ' (DEBUG)'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = '17'
freeCompilerArgs = ['-Xjvm-default=all-compatibility', '-opt-in=kotlin.RequiresOptIn']
}
buildFeatures {
compose true
}
namespace 'com.dessalines.thumbkey'
}
composeCompiler {
enableStrongSkippingMode = true
}
dependencies {
// Compose BOM
implementation platform('androidx.compose:compose-bom:2024.06.00')
implementation 'androidx.compose.ui:ui'
implementation 'androidx.compose.material3:material3'
implementation 'androidx.compose.material:material-icons-extended-desktop:1.6.8'
implementation 'androidx.compose.material3:material3-window-size-class'
implementation 'androidx.compose.ui:ui-tooling'
implementation 'androidx.compose.runtime:runtime-livedata'
// Activities
implementation 'androidx.activity:activity-compose:1.9.1'
implementation 'androidx.activity:activity-ktx:1.9.1'
// LiveData
implementation 'androidx.lifecycle:lifecycle-runtime-compose'
// Navigation
implementation 'androidx.navigation:navigation-compose:2.7.7'
// Emoji Picker
implementation "androidx.emoji2:emoji2-emojipicker:1.4.0"
// Markdown
implementation "com.github.jeziellago:compose-markdown:0.5.2"
// Preferences
implementation 'me.zhanghai.compose.preference:library:1.0.0'
// Input switcher
implementation "com.louiscad.splitties:splitties-systemservices:3.0.0"
implementation "com.louiscad.splitties:splitties-views:3.0.0"
// Room
// To use Kotlin annotation processing tool
ksp 'androidx.room:room-compiler:2.6.1'
implementation 'androidx.room:room-runtime:2.6.1'
annotationProcessor 'androidx.room:room-compiler:2.6.1'
// optional - Kotlin Extensions and Coroutines support for Room
implementation 'androidx.room:room-ktx:2.6.1'
// App compat
implementation 'androidx.appcompat:appcompat:1.7.0'
}