diff --git a/.gitignore b/.gitignore index acb2519..5ed56e8 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,7 @@ data/src/.DS_Store data/.DS_Store core/src/.DS_Store core/.DS_Store +buildSrc/src/main/kotlin/.DS_Store +buildSrc/src/.DS_Store +buildSrc/src/main/.DS_Store +buildSrc/.DS_Store diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 02f604a..9496811 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -4,18 +4,18 @@ plugins { id("kotlin-kapt") id("com.google.dagger.hilt.android") id("com.google.gms.google-services") - id("org.jetbrains.kotlin.plugin.compose") version "2.0.0" // this version matches your Kotlin version - kotlin("plugin.serialization") version "1.9.22" + id("org.jetbrains.kotlin.plugin.compose") version Dependencies.PluginVersions.KOTLIN + kotlin("plugin.serialization") version Dependencies.PluginVersions.SERIALIZATION } android { namespace = "com.critt.interp" - compileSdk = 34 + compileSdk = BuildConfiguration.COMPILE_SDK defaultConfig { applicationId = "com.critt.interp" - minSdk = 26 - targetSdk = 34 + minSdk = BuildConfiguration.MIN_SDK + targetSdk = BuildConfiguration.TARGET_SDK versionCode = 1 versionName = "1.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" @@ -31,11 +31,11 @@ android { } } compileOptions { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = BuildConfiguration.SOURCE_COMPATIBILITY + targetCompatibility = BuildConfiguration.TARGET_COMPATIBILITY } kotlinOptions { - jvmTarget = "1.8" + jvmTarget = BuildConfiguration.JVM_TARGET } buildFeatures { viewBinding = true @@ -43,6 +43,11 @@ android { } } +// Allow references to generated code +kapt { + correctErrorTypes = true +} + dependencies { //TODO: Dependency management across modules implementation(project(":data")) @@ -51,50 +56,47 @@ dependencies { implementation(project(":ui_common")) //firebase - implementation("com.firebaseui:firebase-ui-auth:8.0.0") - implementation("com.google.firebase:firebase-auth-ktx") - implementation(platform("com.google.firebase:firebase-bom:33.8.0")) + implementation(Dependencies.Firebase.AUTH) + implementation(platform(Dependencies.Firebase.BOM)) + + //firebase UI + implementation(Dependencies.FirebaseUI.FIREBASE_UI) //timber - implementation("com.jakewharton.timber:timber:5.0.1") + implementation(Dependencies.Timber.TIMBER) //hilt - kapt("com.google.dagger:hilt-compiler:2.51.1") - kapt("com.google.dagger:hilt-android-compiler:2.51.1") - implementation("com.google.dagger:hilt-android:2.51.1") + kapt(Dependencies.Hilt.COMPILER) + kapt(Dependencies.Hilt.ANDROID_COMPILER) + implementation(Dependencies.Hilt.ANDROID) //lifecycle (currently using this for Flow.asLiveData()) - implementation("androidx.lifecycle:lifecycle-livedata-ktx:2.8.7") - - // Optional - Integration with activities - implementation("androidx.activity:activity-compose:1.9.2") - // Optional - Integration with ViewModels - implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.8.5") - // Optional - Integration with LiveData - implementation("androidx.compose.runtime:runtime-livedata") + implementation(Dependencies.Lifecycle.LIVEDATA) //material theme - implementation("com.google.android.material:material:1.12.0") + implementation(Dependencies.Material.MATERIAL) //compose - val composeBom = platform("androidx.compose:compose-bom:2024.10.01") - implementation(composeBom) - androidTestImplementation(composeBom) - implementation("androidx.compose.material3:material3") + implementation(platform(Dependencies.Compose.BOM)) + androidTestImplementation(platform(Dependencies.Compose.BOM)) + implementation(Dependencies.Compose.MATERIAL3) + // Android Studio Preview support - implementation("androidx.compose.ui:ui-tooling-preview") - debugImplementation("androidx.compose.ui:ui-tooling") + debugImplementation(Dependencies.Compose.UI_TOOLING_PREVIEW) + debugImplementation(Dependencies.Compose.UI_TOOLING) // UI Tests - androidTestImplementation("androidx.compose.ui:ui-test-junit4") - debugImplementation("androidx.compose.ui:ui-test-manifest") - - testImplementation("junit:junit:4.13.2") - testImplementation("org.junit.jupiter:junit-jupiter:5.8.1") - androidTestImplementation("androidx.test.ext:junit:1.2.1") - androidTestImplementation("androidx.test.espresso:espresso-core:3.6.1") -} + androidTestImplementation(Dependencies.Compose.UI_TEST_JUNIT4) + debugImplementation(Dependencies.Compose.UI_TEST_MANIFEST) + // Optional - Integration with LiveData + implementation(Dependencies.Compose.LIVEDATA) + // Optional - Integration with activities + implementation(Dependencies.Compose.ACTIVITY_COMPOSE) + // Optional - Integration with ViewModels + implementation(Dependencies.Compose.LIFECYCLE_VIEWMODEL_COMPOSE) -// Allow references to generated code -kapt { - correctErrorTypes = true + //testing + testImplementation(Dependencies.Testing.JUNIT) + testImplementation(Dependencies.Testing.JUNIT_JUPITER) + androidTestImplementation(Dependencies.Testing.ANDROIDX_TEST_EXT) + androidTestImplementation(Dependencies.Testing.ANDROIDX_TEST_ESPRESSO) } \ No newline at end of file diff --git a/app/src/main/res/values-v23/themes.xml b/app/src/main/res/values-v23/themes.xml index 3e64da1..67fb6f8 100644 --- a/app/src/main/res/values-v23/themes.xml +++ b/app/src/main/res/values-v23/themes.xml @@ -1,6 +1,6 @@ -