Files
coco 7846a45f2c a
2026-07-03 15:47:27 +08:00

139 lines
5.1 KiB
Groovy

plugins {
id 'com.android.library'
id 'kotlin-android'
id 'com.google.devtools.ksp'
id 'androidx.navigation.safeargs.kotlin'
id 'dagger.hilt.android.plugin'
id 'kotlin-parcelize'
id 'org.jlleitschuh.gradle.ktlint'
id 'org.jetbrains.kotlin.plugin.compose'
}
android {
defaultConfig {
compileSdk 35
minSdkVersion 24
targetSdkVersion 35
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles "consumer-rules.pro"
javaCompileOptions {
annotationProcessorOptions {
arguments += ["room.schemaLocation": "$projectDir/schemas".toString()]
}
}
}
ksp {
arg("room.schemaLocation", "$projectDir/schemas")
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
coreLibraryDesugaringEnabled true
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = '17'
}
buildFeatures {
viewBinding true
compose = true
}
testOptions {
unitTests.returnDefaultValues = true
unitTests.includeAndroidResources = true
}
sourceSets {
test.resources.srcDirs += 'test/resources'
}
namespace 'org.dash.wallet.features.exploredash'
}
hilt {
enableAggregatingTask = true
}
dependencies {
implementation project(path: ':common')
// Core
implementation "androidx.core:core-ktx:$jetpackVersion"
implementation "androidx.appcompat:appcompat:$appCompatVersion"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-play-services:$coroutinesVersion"
implementation "androidx.work:work-runtime-ktx:$workRuntimeVersion"
implementation "org.dashj:dashj-core:$dashjVersion"
// Architecture
implementation "androidx.navigation:navigation-fragment-ktx:$navigationVersion"
implementation "androidx.navigation:navigation-ui-ktx:$navigationVersion"
implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycleVersion"
implementation "androidx.datastore:datastore-preferences:$datastoreVersion"
implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:$serializationVersion"
// Database
implementation "androidx.room:room-ktx:$roomVersion"
implementation "androidx.room:room-paging:$roomVersion"
implementation "androidx.room:room-runtime:$roomVersion"
ksp "androidx.room:room-compiler:$roomVersion"
// DI
implementation "com.google.dagger:hilt-android:$hiltVersion"
ksp "com.google.dagger:hilt-compiler:$hiltVersion"
ksp "androidx.hilt:hilt-compiler:$hiltCompilerVersion"
implementation "androidx.hilt:hilt-work:$hiltWorkVersion"
// UI
implementation "com.google.android.material:material:$materialVersion"
implementation "androidx.recyclerview:recyclerview:$recyclerViewVersion"
api 'androidx.paging:paging-runtime-ktx:3.1.1'
implementation "io.coil-kt:coil:$coilVersion"
implementation "io.coil-kt:coil-compose:$coilVersion"
//noinspection GradleDependency
implementation "com.google.zxing:core:$zxingVersion"
// Compose
implementation(platform("androidx.compose:compose-bom:$composeBom"))
implementation "androidx.compose.ui:ui"
implementation "androidx.compose.ui:ui-tooling"
implementation "androidx.compose.material3:material3"
implementation "androidx.lifecycle:lifecycle-runtime-compose:$lifecycleVersion"
// Maps & Location
implementation 'com.google.android.gms:play-services-location:21.3.0'
implementation 'com.google.android.gms:play-services-maps:18.2.0'
implementation 'com.google.maps.android:maps-ktx:3.2.0'
implementation 'com.google.maps.android:android-maps-utils:2.2.6'
// Logs
implementation "org.slf4j:slf4j-api:$slf4jVersion"
// Firebase
implementation 'com.google.firebase:firebase-storage-ktx'
implementation 'com.google.firebase:firebase-auth-ktx'
implementation 'com.google.firebase:firebase-common-ktx'
// Tools
implementation 'net.lingala.zip4j:zip4j:2.9.1'
coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:$desugaringLibraryVersion"
// Tests
testImplementation "junit:junit:$junitVersion"
testImplementation "androidx.test:core-ktx:$testCoreVersion"
testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:$coroutinesVersion"
testImplementation "org.mockito.kotlin:mockito-kotlin:$mockitoVersion"
testImplementation "androidx.arch.core:core-testing:$coreTestingVersion"
testImplementation "org.robolectric:robolectric:4.15.1"
testImplementation "androidx.room:room-testing:$roomVersion"
androidTestImplementation "org.mockito.kotlin:mockito-kotlin:$mockitoVersion"
androidTestImplementation "org.mockito:mockito-android:4.6.1"
androidTestImplementation "androidx.test.ext:junit:$junitExtVersion"
androidTestImplementation "androidx.test.espresso:espresso-core:$espressoVersion"
}