diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 300b9b1bfa4c45d273d34501b342f11e7f60cbee..9256fe4c88ba11560df5013f0126075987c6e9ff 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,7 +1,6 @@ import com.android.build.api.dsl.ApplicationBuildType plugins { - alias(libs.plugins.gradle.versions) alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) alias(libs.plugins.compose.compiler) @@ -94,18 +93,6 @@ android { sourceCompatibility = JavaVersion.VERSION_19 targetCompatibility = JavaVersion.VERSION_19 } - kotlinOptions { - jvmTarget = "19" - freeCompilerArgs += "-Xcontext-receivers" -// freeCompilerArgs += "-opt-in=kotlin.ExperimentalStdlibApi" -// freeCompilerArgs += "-opt-in=kotlin.time.ExperimentalTime" -// freeCompilerArgs += "-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi" - freeCompilerArgs += "-opt-in=androidx.compose.ui.ExperimentalComposeUiApi" - freeCompilerArgs += "-opt-in=androidx.compose.foundation.ExperimentalFoundationApi" -// freeCompilerArgs += "-opt-in=androidx.compose.foundation.layout.ExperimentalLayoutApi" -// freeCompilerArgs += "-opt-in=androidx.compose.animation.ExperimentalAnimationApi" - freeCompilerArgs += "-opt-in=androidx.compose.material3.ExperimentalMaterial3Api" - } packaging { resources { excludes += "/META-INF/{AL2.0,LGPL2.1}" @@ -115,14 +102,22 @@ android { } } +kotlin { + compilerOptions { + freeCompilerArgs.addAll( + "-Xcontext-receivers", + "-opt-in=androidx.compose.ui.ExperimentalComposeUiApi", + "-opt-in=androidx.compose.foundation.ExperimentalFoundationApi", + "-opt-in=androidx.compose.material3.ExperimentalMaterial3Api", + ) + } +} + dependencies { implementation(libs.androidx.core) implementation(libs.androidx.credentials) implementation(libs.androidx.datastore) - implementation(libs.androidx.lifecycle.runtime) - implementation(libs.androidx.lifecycle.viewmodel.compose) implementation(libs.androidx.activity.compose) - implementation(libs.androidx.navigation.compose) implementation(libs.compose.animation) implementation(libs.compose.foundation) @@ -162,23 +157,9 @@ dependencies { implementation(libs.commonutils) - dokkaPlugin(libs.dokka.android) - testImplementation("junit:junit:4.13.2") -// androidTestImplementation("androidx.test.ext:junit:1.1.5") -// androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") -// androidTestImplementation(platform("androidx.compose:compose-bom:2023.10.01")) -// androidTestImplementation("androidx.compose.ui:ui-test-junit4") - debugImplementation("androidx.compose.ui:ui-tooling") - debugImplementation("androidx.compose.ui:ui-test-manifest") -} - -tasks.withType<com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask> { - rejectVersionIf { isUnstable(candidate.version) } -} - -fun isUnstable(version: String): Boolean { - val normalizedVersion = version.lowercase() - return listOf("snapshot", "alpha", "beta", "rc", "m", "dev").any { it in normalizedVersion } + testImplementation(libs.junit4) + androidTestImplementation(libs.compose.ui.test.junit4) + debugImplementation(libs.compose.ui.test.manifest) } diff --git a/build.gradle.kts b/build.gradle.kts index 376a900c5d3253fb018037cd107c744e1828df84..4e8238c8a4b5e0254f8c3a3f6344aa26320d081c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,6 +1,4 @@ -// Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { - alias(libs.plugins.gradle.versions) apply false alias(libs.plugins.android.application) apply false alias(libs.plugins.kotlin.android) apply false alias(libs.plugins.compose.compiler) apply false diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index b7ae0ce9e7d225fc2b729587e82f42d11f71eeb3..e984dde112b0d03af69927ebed27b1eddda5157f 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -5,16 +5,15 @@ dokka = "1.9.20" compose-bom = "2024.05.00" compose = "1.7.0-beta01" material3 = "1.3.0-beta01" -androidx-lifecycle = "2.8.0" ktor = "2.3.10" vico = "2.0.0-alpha.8" voyager = "1.0.0" coil = "2.6.0" acra = "5.11.3" +junit4 = "4.13.2" [plugins] -gradle-versions = { id = "com.github.ben-manes.versions", version = "0.51.0" } android-application = { id = "com.android.application", version = "8.2.2" } kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } @@ -26,10 +25,9 @@ dokka = { id = "org.jetbrains.dokka", version.ref = "dokka" } dokka-android = { group = "org.jetbrains.dokka", name = "android-documentation-plugin", version.ref = "dokka" } androidx-core = { group = "androidx.core", name = "core-ktx", version = "1.13.1" } -androidx-lifecycle-runtime = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "androidx-lifecycle" } -androidx-lifecycle-viewmodel-compose = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-compose", version.ref = "androidx-lifecycle" } +androidx-credentials = { group = "androidx.credentials", name = "credentials", version = "1.3.0-alpha04" } +androidx-datastore = { group = "androidx.datastore", name = "datastore-preferences-android", version = "1.1.1" } -androidx-navigation-compose = { group = "androidx.navigation", name = "navigation-compose", version = "2.7.7" } androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version = "1.9.0" } compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "compose-bom" } @@ -42,13 +40,13 @@ compose-material3 = { group = "androidx.compose.material3", name = "material3", compose-runtime = { group = "androidx.compose.runtime", name = "runtime", version.ref = "compose" } compose-ui = { group = "androidx.compose.ui", name = "ui", version.ref = "compose" } compose-ui-graphics = { group = "androidx.compose.ui", name = "ui-graphics", version.ref = "compose" } +compose-ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4", version.ref = "compose" } +compose-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest", version.ref = "compose" } +compose-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling", version.ref = "compose" } compose-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview", version.ref = "compose" } compose-ui-text-google-fonts = { group = "androidx.compose.ui", name = "ui-text-google-fonts", version.ref = "compose" } compose-grid = { group = "io.woong.compose.grid", name = "grid", version = "1.2.2" } -androidx-credentials = { group = "androidx.credentials", name = "credentials", version = "1.3.0-alpha04" } -androidx-datastore = { group = "androidx.datastore", name = "datastore-preferences-android", version = "1.1.1" } - kotlinx-datetime = { group = "org.jetbrains.kotlinx", name = "kotlinx-datetime", version = "0.6.0-RC.2" } kotlinx-serialization-json = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json", version = "1.6.3" } @@ -84,3 +82,5 @@ acra-limiter = { group = "ch.acra", name = "acra-limiter", version.ref = "acra" acra-advancedscheduler = { group = "ch.acra", name = "acra-advanced-scheduler", version.ref = "acra" } commonutils = { group = "com.gitlab.JojoIV", name = "common_utils", version = "ee87e097c5" } + +junit4 = { group = "junit", name = "junit", version.ref = "junit4" }