mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2024-09-30 08:50:44 +00:00
298 lines
7.7 KiB
Groovy
298 lines
7.7 KiB
Groovy
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
|
|
|
plugins {
|
|
alias(libs.plugins.androidApplication)
|
|
alias(libs.plugins.jetbrainsKotlinAndroid)
|
|
alias(libs.plugins.googleServices)
|
|
alias(libs.plugins.jetbrainsComposeCompiler)
|
|
}
|
|
|
|
android {
|
|
namespace 'com.vitorpamplona.amethyst'
|
|
compileSdk libs.versions.android.compileSdk.get().toInteger()
|
|
|
|
defaultConfig {
|
|
applicationId "com.vitorpamplona.amethyst"
|
|
minSdk libs.versions.android.minSdk.get().toInteger()
|
|
targetSdk libs.versions.android.targetSdk.get().toInteger()
|
|
versionCode 388
|
|
versionName "0.89.2"
|
|
buildConfigField "String", "RELEASE_NOTES_ID", "\"1130badb252bdf62aaf93cb65bfa2bb09e7600c7d6764894f2954555b3b73018\""
|
|
|
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
vectorDrawables {
|
|
useSupportLibrary true
|
|
}
|
|
resourceConfigurations += [
|
|
'ar',
|
|
'bn-rBD',
|
|
'cs',
|
|
'cy-rGB',
|
|
'da-rDK',
|
|
'de',
|
|
'el-rGR',
|
|
'en-rGB',
|
|
'eo',
|
|
'es',
|
|
'es-rES',
|
|
'es-rMX',
|
|
'es-rUS',
|
|
'et-rEE',
|
|
'fa',
|
|
'fi-rFI',
|
|
'fo-rFO',
|
|
'fr',
|
|
'fr-rCA',
|
|
'gu-rIN',
|
|
'hi-rIN',
|
|
'hr-rHR',
|
|
'hu',
|
|
'in',
|
|
'in-rID',
|
|
'it-rIT',
|
|
'iw-rIL',
|
|
'ja',
|
|
'kk-rKZ',
|
|
'ko-rKR',
|
|
'ks-rIN',
|
|
'ku-rTR',
|
|
'lt-rLT',
|
|
'ne-rNP',
|
|
'night',
|
|
'nl',
|
|
'nl-rBE',
|
|
'pcm-rNG',
|
|
'pl-rPL',
|
|
'pt-rBR',
|
|
'pt-rPT',
|
|
'ru',
|
|
'ru-rUA',
|
|
'sa-rIN',
|
|
'sl-rSI',
|
|
'so-rSO',
|
|
'sr-rSP',
|
|
'ss-rZA',
|
|
'sv-rSE',
|
|
'sw-rKE',
|
|
'sw-rTZ',
|
|
'ta',
|
|
'th',
|
|
'tr',
|
|
'uk',
|
|
'ur-rIN',
|
|
'uz-rUZ',
|
|
'vi-rVN',
|
|
'zh',
|
|
'zh-rCN',
|
|
'zh-rHK',
|
|
'zh-rSG',
|
|
'zh-rTW'
|
|
]
|
|
}
|
|
|
|
buildTypes {
|
|
release {
|
|
proguardFiles getDefaultProguardFile("proguard-android-optimize.txt"), 'proguard-rules.pro'
|
|
minifyEnabled true
|
|
resValue "string", "app_name", "@string/app_name_release"
|
|
}
|
|
debug {
|
|
applicationIdSuffix '.debug'
|
|
versionNameSuffix '-DEBUG'
|
|
resValue "string", "app_name", "@string/app_name_debug"
|
|
}
|
|
create("benchmark") {
|
|
initWith(getByName("release"))
|
|
profileable true
|
|
signingConfig signingConfigs.debug
|
|
}
|
|
}
|
|
|
|
flavorDimensions = ["channel"]
|
|
|
|
productFlavors {
|
|
play {
|
|
getIsDefault().set(true)
|
|
dimension "channel"
|
|
}
|
|
|
|
fdroid {
|
|
dimension "channel"
|
|
}
|
|
}
|
|
|
|
splits {
|
|
abi {
|
|
enable true
|
|
reset()
|
|
include "x86", "x86_64", "arm64-v8a", "armeabi-v7a"
|
|
universalApk true
|
|
}
|
|
}
|
|
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_17
|
|
targetCompatibility JavaVersion.VERSION_17
|
|
}
|
|
|
|
buildFeatures {
|
|
compose true
|
|
buildConfig true
|
|
}
|
|
|
|
packagingOptions {
|
|
resources {
|
|
excludes += ['/META-INF/{AL2.0,LGPL2.1}', '**/libscrypt.dylib']
|
|
}
|
|
}
|
|
|
|
lint {
|
|
disable 'MissingTranslation'
|
|
}
|
|
|
|
testOptions {
|
|
unitTests.returnDefaultValues = true
|
|
}
|
|
}
|
|
|
|
kotlin {
|
|
compilerOptions {
|
|
jvmTarget = JvmTarget.JVM_17
|
|
}
|
|
}
|
|
|
|
composeCompiler {
|
|
reportsDestination = layout.buildDirectory.dir("compose_compiler")
|
|
}
|
|
|
|
dependencies {
|
|
implementation platform(libs.androidx.compose.bom)
|
|
|
|
implementation project(path: ':quartz')
|
|
implementation project(path: ':commons')
|
|
implementation project(path: ':ammolite')
|
|
implementation libs.androidx.core.ktx
|
|
implementation libs.androidx.activity.compose
|
|
|
|
implementation libs.androidx.ui
|
|
implementation libs.androidx.ui.graphics
|
|
implementation libs.androidx.ui.tooling.preview
|
|
|
|
// Needs this to open gallery / image upload
|
|
implementation libs.androidx.fragment.ktx
|
|
|
|
// Navigation
|
|
implementation libs.androidx.navigation.compose
|
|
|
|
// Observe Live data as State
|
|
implementation libs.androidx.runtime.livedata
|
|
|
|
// Material 3 Design
|
|
implementation libs.androidx.material3
|
|
implementation libs.androidx.material.icons
|
|
|
|
// Adaptive Layout / Two Pane
|
|
implementation libs.androidx.material3.windowSize
|
|
implementation libs.accompanist.adaptive
|
|
|
|
// Lifecycle
|
|
implementation libs.androidx.lifecycle.runtime.ktx
|
|
implementation libs.androidx.lifecycle.runtime.compose
|
|
implementation libs.androidx.lifecycle.viewmodel.compose
|
|
implementation libs.androidx.lifecycle.livedata.ktx
|
|
|
|
// Zoomable images
|
|
implementation libs.zoomable
|
|
|
|
// Biometrics
|
|
implementation libs.androidx.biometric.ktx
|
|
|
|
// Websockets API
|
|
implementation libs.okhttp
|
|
|
|
// Encrypted Key Storage
|
|
implementation libs.androidx.security.crypto.ktx
|
|
|
|
// view videos
|
|
implementation libs.androidx.media3.exoplayer
|
|
implementation libs.androidx.media3.exoplayer.hls
|
|
implementation libs.androidx.media3.ui
|
|
implementation libs.androidx.media3.session
|
|
|
|
// important for proxy / tor
|
|
implementation libs.androidx.media3.datasource.okhttp
|
|
|
|
// Load images from the web.
|
|
implementation libs.coil.compose
|
|
// view gifs
|
|
implementation libs.coil.gif
|
|
// view svgs
|
|
implementation libs.coil.svg
|
|
|
|
// create blurhash
|
|
implementation libs.trbl.blurhash
|
|
|
|
// Permission to upload pictures:
|
|
implementation libs.accompanist.permissions
|
|
|
|
// For QR generation
|
|
implementation libs.zxing
|
|
implementation libs.zxing.embedded
|
|
|
|
// Markdown
|
|
//implementation "com.halilibo.compose-richtext:richtext-ui:0.16.0"
|
|
//implementation "com.halilibo.compose-richtext:richtext-ui-material:0.16.0"
|
|
//implementation "com.halilibo.compose-richtext:richtext-commonmark:0.16.0"
|
|
|
|
// Markdown (With fix for full-image bleeds)
|
|
implementation libs.markdown.ui
|
|
implementation libs.markdown.ui.material3
|
|
implementation libs.markdown.commonmark
|
|
|
|
// Language picker and Theme chooser
|
|
implementation libs.androidx.appcompat
|
|
|
|
// Local model for language identification
|
|
playImplementation libs.google.mlkit.language.id
|
|
|
|
// Google services model the translate text
|
|
playImplementation libs.google.mlkit.translate
|
|
|
|
// PushNotifications
|
|
playImplementation platform(libs.firebase.bom)
|
|
playImplementation libs.firebase.messaging
|
|
|
|
//PushNotifications(FDroid)
|
|
fdroidImplementation libs.unifiedpush
|
|
|
|
// Charts
|
|
implementation libs.vico.charts.core
|
|
implementation libs.vico.charts.compose
|
|
implementation libs.vico.charts.views
|
|
implementation libs.vico.charts.m3
|
|
|
|
// GeoHash
|
|
implementation libs.drfonfon.geohash
|
|
|
|
// Waveform visualizer
|
|
implementation libs.audiowaveform
|
|
|
|
// Video compression lib
|
|
implementation libs.abedElazizShe.image.compressor
|
|
// Image compression lib
|
|
implementation libs.zelory.video.compressor
|
|
|
|
testImplementation libs.junit
|
|
testImplementation libs.mockk
|
|
|
|
androidTestImplementation platform(libs.androidx.compose.bom)
|
|
androidTestImplementation libs.androidx.junit
|
|
androidTestImplementation libs.androidx.junit.ktx
|
|
androidTestImplementation libs.androidx.espresso.core
|
|
|
|
debugImplementation platform(libs.androidx.compose.bom)
|
|
debugImplementation libs.androidx.ui.tooling
|
|
debugImplementation libs.androidx.ui.test.manifest
|
|
}
|
|
|