Files
coco 723ce1af5c a
2026-07-03 15:12:48 +08:00

222 lines
8.1 KiB
Kotlin

plugins {
id("com.android.application")
kotlin("android")
id("dagger.hilt.android.plugin")
id("kotlin-kapt")
}
android {
compileSdk = ProjectConfig.compileSdk
defaultConfig {
applicationId = ProjectConfig.appId
minSdk = ProjectConfig.minSdk
targetSdk = ProjectConfig.targetSdk
versionCode = ProjectConfig.versionCode
versionName = ProjectConfig.versionName
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables {
useSupportLibrary = true
}
}
buildTypes {
getByName("release") {
isMinifyEnabled = false
}
}
buildFeatures {
compose = true
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = "1.8"
}
composeOptions {
kotlinCompilerExtensionVersion = Compose.composeCompilerVersion
}
}
dependencies {
implementation(Compose.compiler)
implementation(Compose.ui)
implementation(Compose.icons)
implementation(Compose.uiToolingPreview)
implementation(Compose.hiltNavigationCompose)
implementation(Compose.material)
implementation(Compose.runtime)
implementation(Compose.navigation)
implementation(Compose.viewModelCompose)
implementation(Compose.lifecycleRuntime)
implementation(Compose.lifecycleViewModelSavedState)
implementation(Compose.activityCompose)
implementation(DaggerHilt.hiltAndroid)
kapt(DaggerHilt.hiltCompiler)
implementation(project(Modules.core))
implementation(project(Modules.corePresentation))
implementation(project(Modules.authData))
implementation(project(Modules.authDomain))
implementation(project(Modules.authPresentation))
implementation(project(Modules.navigation))
implementation(AndroidX.coreKtx)
implementation(AndroidX.appCompat)
implementation(Coil.coilCompose)
implementation(Google.material)
implementation(Retrofit.okHttp)
implementation(Retrofit.retrofit)
implementation(Retrofit.okHttpLoggingInterceptor)
implementation(Retrofit.moshiConverter)
kapt(Room.roomCompiler)
implementation(Room.roomKtx)
implementation(Room.roomRuntime)
Accompanist.accompanistDependencies.forEach { implementation(it) }
Amazon.awsDependencies.forEach { implementation(it) }
Amazon.amplifyDependencies.forEach { implementation(it) }
testImplementation(Testing.junit4)
testImplementation(Testing.junitAndroidExt)
testImplementation(Testing.truth)
testImplementation(Testing.coroutines)
testImplementation(Testing.turbine)
testImplementation(Testing.composeUiTest)
testImplementation(Testing.mockk)
testImplementation(Testing.mockWebServer)
androidTestImplementation(Testing.junit4)
androidTestImplementation(Testing.junitAndroidExt)
androidTestImplementation(Testing.truth)
androidTestImplementation(Testing.coroutines)
androidTestImplementation(Testing.turbine)
androidTestImplementation(Testing.composeUiTest)
androidTestImplementation(Testing.mockkAndroid)
androidTestImplementation(Testing.mockWebServer)
androidTestImplementation(Testing.hiltTesting)
kaptAndroidTest(DaggerHilt.hiltCompiler)
androidTestImplementation(Testing.testRunner)
}
/*
dependencies {
// Amazon SDK
// github.com/aws-amplify/aws-sdk-android
// github.com/aws-amplify/amplify-android
implementation "com.amplifyframework:core:$amplify_version"
implementation "com.amplifyframework:aws-api:$amplify_version"
implementation "com.amplifyframework:aws-auth-cognito:$amplify_version"
implementation "com.amplifyframework:aws-datastore:$amplify_version"
implementation "com.amazonaws:aws-android-sdk-core:$aws_version"
implementation "com.amazonaws:aws-android-sdk-cognitoauth:$aws_version"
implementation "com.amazonaws:aws-android-sdk-cognitoidentityprovider:$aws_version"
implementation "com.amazonaws:aws-android-sdk-cognitoidentityprovider-asf:$aws_version"
// Serialization
implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.2'
// Retrofit
// https://github.com/square/retrofitokhttp3
// https://github.com/square/okhttp
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
implementation 'com.squareup.okhttp3:okhttp:4.9.3'
implementation 'com.squareup.okhttp3:logging-interceptor:4.9.3'
// Datastore
// https://developer.android.com/codelabs/android-preferences-datastore#4
implementation "androidx.datastore:datastore-preferences:1.0.0"
implementation "androidx.datastore:datastore:1.0.0"
implementation "androidx.datastore:datastore-rxjava2:1.0.0"
implementation "androidx.datastore:datastore-rxjava3:1.0.0"
// ROOM
implementation 'androidx.room:room-runtime:2.4.3'
kapt 'androidx.room:room-compiler:2.4.3'
implementation 'androidx.room:room-ktx:2.4.3'
// Coil - Image Loading Library
implementation 'io.coil-kt:coil-compose:2.0.0-rc01'
// ICONS
implementation "androidx.compose.material:material-icons-extended:$compose_version"
// Coroutines
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.1'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.1'
// Coroutine Lifecycle Scopes
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1"
implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.5.1"
// Dagger-Hilt
implementation 'com.google.dagger:hilt-android:2.43.2'
implementation 'com.google.android.gms:play-services-maps:18.1.0'
kapt 'com.google.dagger:hilt-android-compiler:2.43.2'
kapt 'androidx.hilt:hilt-compiler:1.0.0'
implementation 'androidx.hilt:hilt-navigation-compose:1.0.0'
implementation 'androidx.lifecycle:lifecycle-viewmodel-savedstate:2.5.1'
// Navigation
implementation("androidx.navigation:navigation-compose:2.5.2")
implementation("com.google.android.gms:play-services:12.0.1")
// Navigation library
// Commented out due to a switch to use accompanist library
// implementation 'io.github.raamcosta.compose-destinations:core:1.1.5-beta'
// ksp 'io.github.raamcosta.compose-destinations:ksp:1.1.5-beta'
// Maps
implementation 'com.google.maps.android:android-maps-utils:2.3.0'
implementation 'com.google.android.gms:play-services-location:20.0.0'
// Live Data States (image)
implementation "androidx.compose.runtime:runtime-livedata:$compose_version"
// Accompanist Pager
implementation 'com.google.accompanist:accompanist-pager:0.13.0'
implementation 'com.google.accompanist:accompanist-pager-indicators:0.13.0'
// Permissions
implementation "com.google.accompanist:accompanist-permissions:0.21.1-beta"
// FLOW
// https://google.github.io/accompanist/flowlayout/
implementation "com.google.accompanist:accompanist-flowlayout:0.20.3"
// Navigation Animated Library
// This is important to avoid the goofy awkward look of the top bar fading in and out
implementation "com.google.accompanist:accompanist-navigation-animation:0.22.1-rc"
implementation 'androidx.core:core-ktx:1.8.0'
implementation 'androidx.appcompat:appcompat:1.5.0'
implementation 'com.google.android.material:material:1.6.1'
implementation "androidx.compose.ui:ui:$compose_version"
implementation "androidx.compose.material:material:$compose_version"
implementation "androidx.compose.ui:ui-tooling-preview:$compose_version"
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.5.1'
implementation 'androidx.activity:activity-compose:1.5.1'
testImplementation 'junit:junit:+'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
androidTestImplementation "androidx.compose.ui:ui-test-junit4:$compose_version"
debugImplementation "androidx.compose.ui:ui-tooling:$compose_version"
// Splash Screen
implementation "androidx.core:core-splashscreen:1.0.0"
}
*/