diff --git a/examples/llama.android/app/build.gradle.kts b/examples/llama.android/app/build.gradle.kts index c9b29ec635..5d04c10f2e 100644 --- a/examples/llama.android/app/build.gradle.kts +++ b/examples/llama.android/app/build.gradle.kts @@ -1,7 +1,7 @@ plugins { alias(libs.plugins.android.application) alias(libs.plugins.jetbrains.kotlin.android) - alias(libs.plugins.compose.compiler) + alias(libs.plugins.jetbrains.kotlin.compose.compiler) } android { @@ -48,23 +48,20 @@ android { } dependencies { - implementation(libs.androidx.core.ktx) - implementation(libs.material) - implementation(libs.androidx.lifecycle) - implementation(libs.androidx.activity.compose) + // Platform & Bundles implementation(platform(libs.compose.bom)) - implementation(libs.compose.ui) - implementation(libs.compose.ui.graphics) - implementation(libs.compose.ui.tooling.preview) - implementation(libs.compose.material3) + implementation(libs.bundles.androidx) + implementation(libs.bundles.compose) + implementation(libs.bundles.coroutines) + // Individual dependencies + implementation(libs.accompanist.systemuicontroller) + + // Subproject implementation(project(":llama")) + debugImplementation(libs.bundles.debug) testImplementation(libs.junit) - androidTestImplementation(libs.androidx.junit) - androidTestImplementation(libs.androidx.espresso.core) androidTestImplementation(platform(libs.compose.bom)) - androidTestImplementation(libs.compose.ui.test.junit4) - debugImplementation(libs.compose.ui.tooling) - debugImplementation(libs.compose.ui.test.manifest) + androidTestImplementation(libs.bundles.testing) } diff --git a/examples/llama.android/build.gradle.kts b/examples/llama.android/build.gradle.kts index fa5584d088..42bb93ae43 100644 --- a/examples/llama.android/build.gradle.kts +++ b/examples/llama.android/build.gradle.kts @@ -1,7 +1,7 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { alias(libs.plugins.jetbrains.kotlin.android) apply false + alias(libs.plugins.jetbrains.kotlin.compose.compiler) apply false alias(libs.plugins.android.application) apply false alias(libs.plugins.android.library) apply false - alias(libs.plugins.compose.compiler) apply false } diff --git a/examples/llama.android/gradle/libs.versions.toml b/examples/llama.android/gradle/libs.versions.toml index ae1630036c..ae26107519 100644 --- a/examples/llama.android/gradle/libs.versions.toml +++ b/examples/llama.android/gradle/libs.versions.toml @@ -1,44 +1,107 @@ [versions] + +# Plugins kotlin = "2.1.10" agp = "8.9.1" -activity = "1.10.1" -appcompat = "1.7.0" -compose-bom = "2025.03.01" -compose-material = "1.3.1" -compose-ui = "1.7.8" -constraintlayout = "2.2.1" -coreKtx = "1.15.0" -material = "1.12.0" -lifecycle = "2.8.7" -espressoCore = "3.6.1" +# AndroidX +activity = "1.10.1" +core-ktx = "1.15.0" +datastore-preferences = "1.0.0" +lifecycle = "2.8.7" +navigation = "2.8.9" + +# Compose +compose-bom = "2025.03.01" +compose-foundation = "1.7.8" +compose-material-icons = "1.7.8" +compose-material3 = "1.3.2" +compose-ui = "1.7.8" + +# Coroutines +coroutines = "1.10.2" + +# Accompanist +accompanist = "0.36.0" + +# Testing +espresso-core = "3.5.0" +androidx-junit = "1.1.5" junit = "4.13.2" -junitVersion = "1.2.1" + + +[plugins] +android-application = { id = "com.android.application", version.ref = "agp" } +android-library = { id = "com.android.library", version.ref = "agp" } +jetbrains-kotlin-compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } +jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } + [libraries] -androidx-activity = { group = "androidx.activity", name = "activity", version.ref = "activity" } -androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "activity" } -androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" } -androidx-constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" } -androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" } -androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" } -androidx-lifecycle = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "lifecycle"} +# AndroidX +androidx-activity = { group = "androidx.activity", name = "activity", version.ref = "activity" } +androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activity" } +androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "core-ktx" } +androidx-datastore-preferences = { group = "androidx.datastore", name = "datastore-preferences", version.ref = "datastore-preferences" } +androidx-lifecycle = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "lifecycle"} +androidx-lifecycle-viewmodel-compose = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-compose", version.ref = "lifecycle" } +androidx-navigation-compose = { group = "androidx.navigation", name = "navigation-compose", version.ref = "navigation"} + +# Compose compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "compose-bom" } -compose-material3 = { group = "androidx.compose.material3", name = "material3", version.ref = "compose-material" } + +compose-foundation = { group = "androidx.compose.foundation", name = "foundation", version.ref = "compose-foundation" } +compose-material-icons-extended = { group = "androidx.compose.material", name = "material-icons-extended", version.ref = "compose-material-icons" } +compose-material3 = { group = "androidx.compose.material3", name = "material3", version.ref = "compose-material3" } + compose-ui = { group = "androidx.compose.ui", name = "ui", version.ref = "compose-ui" } compose-ui-graphics = { group = "androidx.compose.ui", name = "ui-graphics", version.ref = "compose-ui" } compose-ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4", version.ref = "compose-ui" } compose-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest", version.ref = "compose-ui" } compose-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling", version.ref = "compose-ui" } compose-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview", version.ref = "compose-ui" } -material = { group = "com.google.android.material", name = "material", version.ref = "material" } -androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" } +# Coroutines +kotlinx-coroutines-core = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version.ref = "coroutines" } +kotlinx-coroutines-android = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version.ref = "coroutines" } + +# Accompanist +accompanist-systemuicontroller = { group = "com.google.accompanist", name = "accompanist-systemuicontroller", version.ref = "accompanist" } + +# Testing +androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espresso-core" } +androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "androidx-junit" } junit = { group = "junit", name = "junit", version.ref = "junit" } -[plugins] -android-application = { id = "com.android.application", version.ref = "agp" } -android-library = { id = "com.android.library", version.ref = "agp" } -jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } -compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } +[bundles] +androidx = [ + "androidx-activity-compose", + "androidx-core-ktx", + "androidx-datastore-preferences", + "androidx-lifecycle", + "androidx-lifecycle-viewmodel-compose", + "androidx-navigation-compose" +] +compose = [ + "compose-foundation", + "compose-material-icons-extended", + "compose-material3", + "compose-ui", + "compose-ui-graphics", +] +coroutines = [ + "kotlinx-coroutines-core", + "kotlinx-coroutines-android" +] +debug = [ + "compose-ui-tooling", + "compose-ui-tooling-preview", + "compose-ui-test-junit4", + "compose-ui-test-manifest", +] +testing = [ + "androidx-espresso-core", + "androidx-junit", + "junit", +] diff --git a/examples/llama.android/llama/build.gradle.kts b/examples/llama.android/llama/build.gradle.kts index 7728c8b769..e0bab27438 100644 --- a/examples/llama.android/llama/build.gradle.kts +++ b/examples/llama.android/llama/build.gradle.kts @@ -70,10 +70,7 @@ android { dependencies { implementation(libs.androidx.core.ktx) - implementation(libs.androidx.appcompat) - implementation(libs.material) testImplementation(libs.junit) androidTestImplementation(libs.androidx.junit) - androidTestImplementation(libs.androidx.espresso.core) } diff --git a/examples/llama.android/settings.gradle.kts b/examples/llama.android/settings.gradle.kts index c7c1a034a4..7ad9f5cc08 100644 --- a/examples/llama.android/settings.gradle.kts +++ b/examples/llama.android/settings.gradle.kts @@ -8,8 +8,8 @@ pluginManagement { dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { - google() mavenCentral() + google() } }