Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
87 changes: 39 additions & 48 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ plugins {
// disabled for internal purpose (if you want to enable, you must create firebase project first)
// id 'com.google.gms.google-services'
// id 'com.google.firebase.crashlytics'
// id 'com.google.firebase.firebase-perf'
}

android {
Expand Down Expand Up @@ -85,105 +84,97 @@ android {


dependencies {
implementation "androidx.core:core-ktx:1.17.0"
implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.9.2"
implementation "androidx.core:core-ktx:$core_ktx_version"
implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_ktx_version"

implementation "androidx.activity:activity-compose:1.10.1"
implementation "androidx.activity:activity-compose:$activity_compose_version"

// Jetpack Compose
implementation "androidx.compose.runtime:runtime-livedata:1.9.0"
implementation "androidx.compose.ui:ui:1.9.0"
implementation "androidx.compose.ui:ui-tooling-preview:1.9.0"
implementation "androidx.compose.runtime:runtime-livedata:$jetpack_compose_version"
implementation "androidx.compose.ui:ui:$jetpack_compose_version"
implementation "androidx.compose.ui:ui-tooling-preview:$jetpack_compose_version"

implementation "androidx.compose.material3:material3:1.3.2"
implementation "androidx.compose.material3:material3:$material3_version"

// Lifecycle Livedata
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.9.2"
implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.9.2"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_ktx_version"
implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_ktx_version"

implementation "androidx.compose.compiler:compiler:1.5.15"
implementation 'androidx.test.ext:junit-ktx:1.3.0'
implementation "androidx.compose.compiler:compiler:$compose_compiler_version"

// Room
def room_version = "2.7.0"
implementation "androidx.room:room-ktx:$room_version"
kapt "androidx.room:room-compiler:$room_version"
androidTestImplementation "androidx.room:room-testing:$room_version"

// Datastore
implementation("androidx.datastore:datastore-preferences:1.1.7")
implementation "androidx.datastore:datastore-preferences:$datastore_preference_version"

// Compose Navigation
implementation "androidx.navigation:navigation-compose:2.9.3"
implementation "androidx.navigation:navigation-compose:$navigation_compose_version"

// Coroutines
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.2"

// Unit test
testImplementation "junit:junit:4.13.2"
androidTestImplementation "androidx.test.ext:junit:1.3.0"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlin_coroutines_version"

// Hilt
def dagger_version = "2.56.2"
implementation "com.google.dagger:hilt-android:$dagger_version"
kapt "com.google.dagger:hilt-android-compiler:$dagger_version"
implementation "androidx.hilt:hilt-navigation-compose:1.2.0"
implementation "androidx.hilt:hilt-navigation-compose:$hilt_navigation_compose_version"

// Material Icon Extension
implementation "androidx.compose.material:material-icons-extended:1.7.8"
implementation "androidx.compose.material:material-icons-extended:$material_icons_version"

// So, make sure you also include that repository in your project's build.gradle file.
implementation("com.google.android.play:app-update:2.1.0")
implementation "com.google.android.play:app-update:$play_app_update_version"
// For Kotlin users also import the Kotlin extensions library for Play In-App Update:
implementation("com.google.android.play:app-update-ktx:2.1.0")
implementation "com.google.android.play:app-update-ktx:$play_app_update_version"

// Google Play API
implementation "com.google.android.gms:play-services-auth:21.4.0"
implementation "com.google.android.gms:play-services-auth:$play_services_auth_version"

// Accompanist - Status Bar
implementation "com.google.accompanist:accompanist-systemuicontroller:0.36.0"
implementation "com.google.accompanist:accompanist-systemuicontroller:$systemuicontroller_version"

// Unit test
testImplementation "junit:junit:$junit_version"

// Instrumented test
/// Espresso (for ui interaction purpose)
androidTestImplementation "androidx.test:runner:1.7.0"
androidTestImplementation "androidx.test:rules:1.7.0"
androidTestImplementation "androidx.test.espresso:espresso-intents:3.7.0"
androidTestImplementation "androidx.test.espresso:espresso-core:3.7.0"
androidTestImplementation "androidx.test:runner:$test_version"
androidTestImplementation "androidx.test:rules:$test_version"
androidTestImplementation "androidx.test.espresso:espresso-intents:$test_espresso_version"
androidTestImplementation "androidx.test.espresso:espresso-core:$test_espresso_version"

androidTestImplementation "androidx.compose.ui:ui-test-junit4:1.9.0"
debugImplementation "androidx.compose.ui:ui-tooling:1.9.0"
debugImplementation "androidx.compose.ui:ui-test-manifest:1.9.0"
androidTestImplementation "androidx.compose.ui:ui-test-junit4:$compose_ui_test_version"
debugImplementation "androidx.compose.ui:ui-tooling:$compose_ui_test_version"
debugImplementation "androidx.compose.ui:ui-test-manifest:$compose_ui_test_version"

/// Hilt test (for handling service locator when test)
androidTestImplementation "com.google.dagger:hilt-android-testing:$dagger_version"
kaptAndroidTest "com.google.dagger:hilt-android-compiler:$dagger_version"

// For mocking purposes & make it visible in instrumented test
testImplementation "org.mockito.kotlin:mockito-kotlin:6.0.0"
testImplementation "org.mockito:mockito-inline:5.2.0"
testImplementation "org.mockito.kotlin:mockito-kotlin:$mockito_version"
testImplementation "org.mockito:mockito-inline:$mockito_inline_version"

androidTestImplementation "androidx.test.ext:junit-ktx:1.3.0"
androidTestImplementation "androidx.test.ext:junit-ktx:$junit_ktx_version"

testImplementation "androidx.arch.core:core-testing:2.2.0"
testImplementation "androidx.arch.core:core-testing:$core_testing_version"

// For unit testing coroutines
testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:1.10.2"
testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:$coroutines_test_version"

// Import the Firebase BoM
implementation platform("com.google.firebase:firebase-bom:34.1.0")
implementation platform("com.google.firebase:firebase-bom:$firebase_bom_version")
// When using the BoM, you don't specify versions in Firebase library dependencies
// Add the dependency for the Firebase SDK for Google Analytics
implementation "com.google.firebase:firebase-analytics"
implementation "com.google.firebase:firebase-crashlytics:20.0.0"
implementation "com.google.firebase:firebase-perf-ktx:21.0.5"

//Google sign in
implementation "com.google.android.gms:play-services-auth:21.4.0"
implementation "com.google.firebase:firebase-crashlytics"

//Google Drive API
implementation "com.google.http-client:google-http-client-gson:2.0.0"
implementation "com.google.apis:google-api-services-drive:v3-rev136-1.25.0"
implementation "com.google.api-client:google-api-client-android:2.8.1"
implementation "com.google.http-client:google-http-client-gson:$http_client_gson_version"
implementation "com.google.apis:google-api-services-drive:$google_drive_service_version"
implementation "com.google.api-client:google-api-client-android:$google_api_client_version"
}

kapt {
Expand Down
36 changes: 34 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,45 @@ buildscript {
// disable for staging purpose
// classpath 'com.google.firebase:firebase-crashlytics-gradle:3.0.6'
// classpath 'com.google.gms:google-services:4.4.3'
// classpath 'com.google.firebase:perf-plugin:2.0.1'
}
}

// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
id 'com.android.application' version '8.12.0' apply false
id 'com.android.library' version '8.12.0' apply false
id 'org.jetbrains.kotlin.android' version '2.2.10' apply false
id 'com.google.dagger.hilt.android' version '2.56.2' apply false
id 'com.google.dagger.hilt.android' version '2.57.1' apply false
}

ext {
compose_ui_test_version = "1.9.1"
dagger_version = "2.57.1"
room_version = "2.8.0"
test_version = "1.7.0"
test_espresso_version = "3.7.0"
mockito_version = "6.0.0"
mockito_inline_version = "5.2.0"
junit_ktx_version = "1.3.0"
junit_version = "4.13.2"
core_testing_version = "2.2.0"
coroutines_test_version = "1.10.2"
systemuicontroller_version = "0.36.0"
play_services_auth_version = "21.4.0"
play_app_update_version = "2.1.0"
firebase_bom_version = "34.3.0"
material_icons_version = "1.7.8"
http_client_gson_version = "2.0.0"
google_drive_service_version = "v3-rev136-1.25.0"
google_api_client_version = "2.8.1"
kotlin_coroutines_version = "1.10.2"
datastore_preference_version = "1.1.7"
compose_compiler_version = "1.5.15"
material3_version = "1.3.2"
core_ktx_version = "1.17.0"
navigation_compose_version = "2.9.3"
hilt_navigation_compose_version = "1.3.0"
lifecycle_ktx_version = "2.9.4"
activity_compose_version = "1.11.0"
jetpack_compose_version = "1.9.0"
}
2 changes: 2 additions & 0 deletions settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,14 @@ pluginManagement {
gradlePluginPortal()
}
}

dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
}
}

rootProject.name = "VentNote"
include ':app'