From 18f66d3963b4003632430946c176508cc141faf1 Mon Sep 17 00:00:00 2001 From: Souvlakia Date: Wed, 5 Nov 2025 16:33:07 +0200 Subject: [PATCH 1/7] jetcaster init migration added mobile --- Jetcaster/package.mill | 135 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 Jetcaster/package.mill diff --git a/Jetcaster/package.mill b/Jetcaster/package.mill new file mode 100644 index 000000000..55d473a58 --- /dev/null +++ b/Jetcaster/package.mill @@ -0,0 +1,135 @@ +package build.Jetcaster + +import mill.* +import androidlib.* +import kotlinlib.* +import build.* +import mill.api.Task.Simple as T +import mill.api.{PathRef, Task} +import mill.javalib.api.JvmWorkerApi +import mill.kotlinlib.ksp.KspModule +import hilt.AndroidHiltSupport + +import java.nio.file.Files + +object Versions { + val kotlinVersion = "2.1.21" + val kspVersion = "2.0.2" +} + +//AndroidBuildConfig ? +object mobile extends BaseAndroidModule, AndroidR8AppModule, AndroidHiltSupport { + + override def androidApplicationNamespace: String = "com.example.jetcaster" + + override def androidApplicationId: String = "com.example.jetcaster" + + override def bomMvnDeps: T[Seq[Dep]] = Seq( + mvn"androidx.compose:compose-bom:2025.06.00" + ) + + override def androidDebugSettings: T[AndroidBuildTypeSettings] = Task { + AndroidBuildTypeSettings( + isMinifyEnabled = false + ) + } + def androidProjectProguardFiles = Task.Sources( + "proguard-rules.pro" + ) + def androidDefaultProguardFileNames: Task[Seq[String]] = Task.Anon { + Seq("proguard-android-optimize.txt") + } + + override def androidEnableCompose: T[Boolean] = true + + override def kotlinUseEmbeddableCompiler: Task[Boolean] = Task { + true + } + + override def kotlinVersion = Versions.kotlinVersion + def kspVersion = Versions.kspVersion + def kspJvmTarget = "17" + + private def debugMvnDeps: T[Seq[Dep]] = Task { + Seq( + mvn"androidx.compose.ui:ui-tooling" + ) + } + + + + override def mvnDeps: T[Seq[Dep]] = super.mvnDeps() ++ Seq( + + /* + implementation(libs.kotlin.stdlib) + implementation(libs.kotlinx.coroutines.android) + implementation(libs.kotlinx.collections.immutable) + + implementation(libs.androidx.core.ktx) + implementation(libs.androidx.palette) + */ + mvn"org.jetbrains.kotlin:kotlin-stdlib-jdk8:${build.Versions.kotlinVersion}", + mvn"org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.2", + mvn"org.jetbrains.kotlinx:kotlinx-collections-immutable:0.4.0", + mvn"androidx.core:core-ktx:1.16.0", + mvn"androidx.palette:palette:1.0.0", + + /* + implementation(libs.androidx.hilt.navigation.compose) + implementation(libs.hilt.android) + ksp(libs.hilt.compiler) + */ + // Hilt + mvn"androidx.hilt:hilt-navigation-compose:1.2.0", + mvn"com.google.dagger:hilt-android:2.56.2", + + /* + Compose + implementation(libs.androidx.activity.compose) + implementation(libs.androidx.compose.foundation) + implementation(libs.androidx.compose.material3) + implementation(libs.androidx.compose.material3.adaptive) + implementation(libs.androidx.compose.material3.adaptive.layout) + implementation(libs.androidx.compose.material3.adaptive.navigation) + implementation(libs.androidx.compose.ui) + implementation(libs.androidx.compose.ui.tooling.preview) + */ + // Compose + mvn"androidx.activity:activity-compose:1.10.1", + mvn"androidx.compose.foundation:foundation", + mvn"com.google.android.material:material:1.13.0-alpha13", + mvn"androidx.compose.material3:material3", + mvn"androidx.compose.material3.adaptive:adaptive", + mvn"androidx.compose.material3.adaptive:adaptive-layout", + mvn"androidx.compose.material3.adaptive:adaptive-navigation", + mvn"androidx.compose.ui:ui", + mvn"androidx.compose.ui:ui-tooling-preview", + + /* + More Compose + implementation(libs.androidx.lifecycle.runtime) + implementation(libs.androidx.lifecycle.viewModelCompose) + implementation(libs.androidx.lifecycle.runtime.compose) + implementation(libs.androidx.navigation.compose) + + implementation(libs.androidx.window) + implementation(libs.androidx.window.core) + + implementation(libs.accompanist.adaptive) + + implementation(libs.coil.kt.compose) + */ + mvn"androidx.lifecycle:lifecycle-runtime-ktx:2.9.1", + mvn"androidx.lifecycle:lifecycle-viewmodel-compose:2.9.1", + mvn"androidx.lifecycle:lifecycle-runtime-compose:2.9.1", + mvn"androidx.navigation:navigation-compose:2.9.0", + mvn"androidx.window:window:1.4.0", + mvn"androidx.window:window-core:1.4.0", + mvn"com.google.accompanist:accompanist-adaptive:0.37.3", + mvn"io.coil-kt:coil-compose:2.7.0", + ) ++ (if (androidIsDebug()) debugMvnDeps() else Seq()) + + def kotlinSymbolProcessors: T[Seq[Dep]] = Seq( + mvn"com.google.dagger:hilt-compiler:2.56.2" + ) +} From e500ef6d682ca330b8bff7b8492520f7e9ce76c7 Mon Sep 17 00:00:00 2001 From: Souvlakia Date: Fri, 7 Nov 2025 11:24:12 +0200 Subject: [PATCH 2/7] jetcaster migration add core.{data,designsystem} , glancewidget --- Jetcaster/package.mill | 309 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 287 insertions(+), 22 deletions(-) diff --git a/Jetcaster/package.mill b/Jetcaster/package.mill index 55d473a58..5a3c6c54b 100644 --- a/Jetcaster/package.mill +++ b/Jetcaster/package.mill @@ -15,24 +15,288 @@ import java.nio.file.Files object Versions { val kotlinVersion = "2.1.21" val kspVersion = "2.0.2" + val androidCompileSdk = 33 + val androidMinSdk = 21 } -//AndroidBuildConfig ? -object mobile extends BaseAndroidModule, AndroidR8AppModule, AndroidHiltSupport { +/* +##### +# This file is duplicated to individual samples from the global scripts/libs.versions.toml +# Do not add a dependency to an individual sample, edit the global version instead. +##### +[versions] +accompanist = "0.37.3" +android-material3 = "1.13.0-alpha13" +androidGradlePlugin = "8.10.1" +androidx-activity-compose = "1.10.1" +androidx-appcompat = "1.7.1" +androidx-compose-bom = "2025.06.00" +androidx-constraintlayout = "1.1.1" +androidx-core-splashscreen = "1.0.1" +androidx-corektx = "1.16.0" +androidx-glance = "1.1.1" +androidx-lifecycle = "2.8.2" +androidx-lifecycle-compose = "2.9.1" +androidx-lifecycle-runtime-compose = "2.9.1" +androidx-navigation = "2.9.0" +androidx-palette = "1.0.0" +androidx-test = "1.6.1" +androidx-test-espresso = "3.6.1" +androidx-test-ext-junit = "1.2.1" +androidx-test-ext-truth = "1.6.0" +androidx-tv-foundation = "1.0.0-alpha12" +androidx-tv-material = "1.0.0" +androidx-wear-compose-material3 = "1.5.0-beta03" +androidx-wear-compose = "1.5.0-beta03" +androidx-window = "1.4.0" +androidxHiltNavigationCompose = "1.2.0" +androix-test-uiautomator = "2.3.0" +coil = "2.7.0" +# @keep +compileSdk = "36" +coroutines = "1.10.2" +google-maps = "19.2.0" +gradle-versions = "0.52.0" +hilt = "2.56.2" +hiltExt = "1.2.0" +horologist = "0.7.14-beta" +jdkDesugar = "2.1.5" +junit = "4.13.2" +kotlin = "2.1.21" +kotlinx-serialization-json = "1.8.1" +kotlinx_immutable = "0.4.0" +ksp = "2.1.21-2.0.2" +maps-compose = "6.6.0" +media3 = "1.7.1" +# @keep +minSdk = "21" +okhttp = "4.12.0" +play-services-wearable = "19.0.0" +robolectric = "4.14.1" +roborazzi = "1.45.1" +rome = "2.1.0" +room = "2.7.1" +secrets = "2.0.1" +spotless = "7.0.4" +# @keep +targetSdk = "33" +version-catalog-update = "1.0.0" + */ - override def androidApplicationNamespace: String = "com.example.jetcaster" +trait BaseAndroidModule extends AndroidKotlinModule { + def kotlinVersion = Versions.kotlinVersion - override def androidApplicationId: String = "com.example.jetcaster" + def androidSdkModule = mill.api.ModuleRef(build.androidSdkModule0) + + def androidCompileSdk = Versions.androidCompileSdk - override def bomMvnDeps: T[Seq[Dep]] = Seq( + def androidMinSdk = Versions.androidMinSdk + + def androidEnableCompose: T[Boolean] = true + + def bomMvnDeps: T[Seq[Dep]] = Seq( mvn"androidx.compose:compose-bom:2025.06.00" ) +} + +trait BaseHiltAndroidModule extends BaseAndroidModule, AndroidHiltSupport { + def kspVersion = Versions.kspVersion + def kspJvmTarget = "17" + + override def kotlinUseEmbeddableCompiler: Task[Boolean] = Task { + true + } + + def kotlinSymbolProcessors: T[Seq[Dep]] = Seq( + mvn"com.google.dagger:hilt-compiler:2.56.2" + ) + + def generatedBuildConfig: T[PathRef] = Task { + val buildType = if (androidIsDebug()) "debug" else "release" + val content: String = + s""" + |package $androidNamespace; + |public final class BuildConfig { + | public static final boolean DEBUG = ${androidIsDebug()}; + | public static final String BUILD_TYPE = "${buildType}"; + | public static final int VERSION_CODE = ${androidVersionCode()}; + | public static final String VERSION_NAME = "${androidVersionName()}"; + |} + """.stripMargin + + val destination = Task.dest / "source" / os.SubPath(androidNamespace.replace( + ".", + "/" + )) / "BuildConfig.java" + + os.write(destination, content, createFolders = true) + + PathRef(destination) + } + + override def generatedSources: T[Seq[PathRef]] = Task { + super.generatedSources() ++ Seq(generatedBuildConfig()) + } +} + + + +object core extends mill.api.Module { + object data extends BaseHiltAndroidModule { + override def androidNamespace: String = "com.example.jetcaster.core.data" + + override def mvnDeps: T[Seq[Dep]] = super.mvnDeps() ++ Seq( + /* + implementation(libs.androidx.core.ktx) + implementation(libs.androidx.appcompat) + implementation(libs.androidx.compose.runtime) + + // Image loading + implementation(libs.coil.kt.compose) + */ + mvn"androidx.core:core-ktx:1.16.0", + mvn"androidx.appcompat:appcompat:1.7.1", + mvn"androidx.compose.runtime:runtime", + mvn"io.coil-kt:coil-compose:2.7.0", + + /* + // Dependency injection + implementation(libs.androidx.hilt.navigation.compose) + implementation(libs.hilt.android) + */ + mvn"androidx.hilt:hilt-navigation-compose:1.2.0", + mvn"com.google.dagger:hilt-android:2.56.2", + + /* + // Networking + implementation(libs.okhttp3) + implementation(libs.okhttp.logging) + + // Database + implementation(libs.androidx.room.runtime) + implementation(libs.androidx.room.ktx) + ksp(libs.androidx.room.compiler) + */ + mvn"com.squareup.okhttp3:okhttp:4.12.0", + mvn"com.squareup.okhttp3:logging-interceptor:4.12.0", + mvn"androidx.room:room-runtime:2.7.1", + mvn"androidx.room:room-ktx:2.7.1", + + /* + implementation(libs.rometools.rome) + implementation(libs.rometools.modules) + */ + mvn"com.rometools:rome:2.1.0", + mvn"com.rometools:rome-modules:2.1.0", + + // testing??? + ) + + } + + object designsystem extends BaseAndroidModule { + override def androidNamespace: String = "com.example.jetcaster.core.designsystem" + + override def mvnDeps: T[Seq[Dep]] = super.mvnDeps() ++ Seq( + /* + implementation(composeBom) + implementation(libs.androidx.compose.foundation) + implementation(libs.androidx.compose.material3) + implementation(libs.androidx.compose.ui.graphics) + implementation(libs.androidx.compose.ui.text) + implementation(libs.coil.kt.compose) + + implementation(libs.androidx.core.ktx) + implementation(libs.androidx.appcompat) + */ + mvn"androidx.compose.foundation:foundation", + mvn"androidx.compose.material3:material3", + mvn"androidx.compose.ui:ui-graphics", + mvn"androidx.compose.ui:ui-text", + mvn"io.coil-kt:coil-compose:2.7.0", + mvn"androidx.core:core-ktx:1.16.0", + mvn"androidx.appcompat:appcompat:1.7.1" + ) + + } + +// object domain extends BaseAndroidLibModule + +// object domainTesting extends BaseAndroidLibModule +} + + +object glancewidget extends BaseAndroidModule { + + override def androidNamespace: String = "com.example.jetcaster.glancewidget" + /* + debugImplementation(libs.androidx.compose.ui.tooling) + debugImplementation(libs.androidx.compose.ui.test.manifest) + */ + def debugMvnDeps: T[Seq[Dep]] = Task { + Seq( + mvn"androidx.compose.ui:ui-tooling", + mvn"androidx.compose.ui:ui-test-manifest" + ) + } + + override def mvnDeps: T[Seq[Dep]] = super.mvnDeps() ++ Seq( + /* + implementation(libs.androidx.glance.appwidget) + implementation(libs.androidx.glance.material3) + implementation(libs.androidx.glance) + */ + mvn"androidx.glance:glance-appwidget:1.1.1", + mvn"androidx.glance:glance-material3:1.1.1", + mvn"androidx.glance:glance:1.1.1", + + // implementation(libs.coil.kt.compose) + mvn"io.coil-kt:coil-compose:2.7.0", + + /* + implementation(libs.androidx.core.ktx) + implementation(libs.android.material3) + implementation(libs.androidx.lifecycle.runtime) + implementation(libs.androidx.activity.compose) + implementation(platform(libs.androidx.compose.bom)) + implementation(libs.androidx.compose.ui) + implementation(libs.androidx.compose.ui.graphics) + implementation(libs.androidx.compose.ui.tooling.preview) + implementation(libs.androidx.compose.material3) + */ + mvn"androidx.core:core-ktx:1.16.0", + mvn"com.google.android.material:material:1.13.0-alpha13", + mvn"androidx.lifecycle:lifecycle-runtime-ktx:2.9.1", + mvn"androidx.activity:activity-compose:1.10.1", + mvn"androidx.compose.ui:ui", + mvn"androidx.compose.ui:ui-graphics", + mvn"androidx.compose.ui:ui-tooling-preview", + mvn"androidx.compose.material3:material3" + + ) ++ (if (androidIsDebug()) debugMvnDeps() else Seq()) + + // implementation(projects.core.designsystem) + override def moduleDeps = super.moduleDeps ++ Seq( + core.designsystem + ) + +// object androidTest ?? + +} + +//AndroidBuildConfig ? +object mobile extends BaseHiltAndroidModule, AndroidR8AppModule { + + override def androidApplicationNamespace: String = "com.example.jetcaster" + + override def androidApplicationId: String = "com.example.jetcaster" override def androidDebugSettings: T[AndroidBuildTypeSettings] = Task { AndroidBuildTypeSettings( isMinifyEnabled = false ) } + def androidProjectProguardFiles = Task.Sources( "proguard-rules.pro" ) @@ -40,15 +304,6 @@ object mobile extends BaseAndroidModule, AndroidR8AppModule, AndroidHiltSupport Seq("proguard-android-optimize.txt") } - override def androidEnableCompose: T[Boolean] = true - - override def kotlinUseEmbeddableCompiler: Task[Boolean] = Task { - true - } - - override def kotlinVersion = Versions.kotlinVersion - def kspVersion = Versions.kspVersion - def kspJvmTarget = "17" private def debugMvnDeps: T[Seq[Dep]] = Task { Seq( @@ -56,19 +311,33 @@ object mobile extends BaseAndroidModule, AndroidR8AppModule, AndroidHiltSupport ) } + /* + implementation(projects.core.data) + implementation(projects.core.designsystem) + implementation(projects.core.domain) + implementation(projects.glancewidget) + implementation(projects.core.domainTesting) + */ + def moduleDeps = super.moduleDeps ++ Seq( + core.data, + core.designsystem, +// core.domain, + glancewidget, +// core.domainTesting + ) override def mvnDeps: T[Seq[Dep]] = super.mvnDeps() ++ Seq( - /* - implementation(libs.kotlin.stdlib) + /* + implementation(libs.kotlin.stdlib) implementation(libs.kotlinx.coroutines.android) implementation(libs.kotlinx.collections.immutable) implementation(libs.androidx.core.ktx) implementation(libs.androidx.palette) - */ - mvn"org.jetbrains.kotlin:kotlin-stdlib-jdk8:${build.Versions.kotlinVersion}", + */ + mvn"org.jetbrains.kotlin:kotlin-stdlib-jdk8:${Versions.kotlinVersion}", mvn"org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.2", mvn"org.jetbrains.kotlinx:kotlinx-collections-immutable:0.4.0", mvn"androidx.core:core-ktx:1.16.0", @@ -128,8 +397,4 @@ object mobile extends BaseAndroidModule, AndroidR8AppModule, AndroidHiltSupport mvn"com.google.accompanist:accompanist-adaptive:0.37.3", mvn"io.coil-kt:coil-compose:2.7.0", ) ++ (if (androidIsDebug()) debugMvnDeps() else Seq()) - - def kotlinSymbolProcessors: T[Seq[Dep]] = Seq( - mvn"com.google.dagger:hilt-compiler:2.56.2" - ) } From bc629e57731a565311dacceea38fb0285460a223 Mon Sep 17 00:00:00 2001 From: Souvlakia Date: Fri, 7 Nov 2025 13:21:29 +0200 Subject: [PATCH 3/7] add core.domain --- Jetcaster/package.mill | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/Jetcaster/package.mill b/Jetcaster/package.mill index 5a3c6c54b..dae574534 100644 --- a/Jetcaster/package.mill +++ b/Jetcaster/package.mill @@ -188,9 +188,8 @@ object core extends mill.api.Module { */ mvn"com.rometools:rome:2.1.0", mvn"com.rometools:rome-modules:2.1.0", - - // testing??? ) + // testing??? } @@ -220,9 +219,30 @@ object core extends mill.api.Module { } -// object domain extends BaseAndroidLibModule + object domain extends BaseHiltAndroidModule { + override def androidNamespace: String = "com.example.jetcaster.core.domain" + + override def mvnDeps: T[Seq[Dep]] = super.mvnDeps() ++ Seq( + + /* + // Dependency injection + implementation(libs.androidx.hilt.navigation.compose) + implementation(libs.hilt.android) + ksp(libs.hilt.compiler) + */ + mvn"androidx.hilt:hilt-navigation-compose:1.2.0", + mvn"com.google.dagger:hilt-android:2.56.2" + ) + + override def moduleDeps = super.moduleDeps ++ Seq( + core.data, +// core.dataTesting + ) + + // testing??? + } -// object domainTesting extends BaseAndroidLibModule +// object domainTesting extends BaseAndroidModule } @@ -321,7 +341,7 @@ object mobile extends BaseHiltAndroidModule, AndroidR8AppModule { def moduleDeps = super.moduleDeps ++ Seq( core.data, core.designsystem, -// core.domain, + core.domain, glancewidget, // core.domainTesting ) From 5d0f61d193fa5a7b6c7aa294ce962636fe71bc74 Mon Sep 17 00:00:00 2001 From: Souvlakia Date: Fri, 7 Nov 2025 13:41:34 +0200 Subject: [PATCH 4/7] add core.`data-testing`, `domain-testing` --- Jetcaster/package.mill | 38 ++++++++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/Jetcaster/package.mill b/Jetcaster/package.mill index dae574534..75dc81c63 100644 --- a/Jetcaster/package.mill +++ b/Jetcaster/package.mill @@ -193,6 +193,23 @@ object core extends mill.api.Module { } + object `data-testing` extends BaseAndroidModule { + override def androidNamespace: String = "com.example.jetcaster.core.data.testing" + + override def mvnDeps: T[Seq[Dep]] = super.mvnDeps() ++ Seq( + /* + implementation(libs.androidx.core.ktx) + */ + mvn"androidx.core:core-ktx:1.16.0" + ) + + // testing??? + + override def moduleDeps = super.moduleDeps ++ Seq( + core.data + ) + } + object designsystem extends BaseAndroidModule { override def androidNamespace: String = "com.example.jetcaster.core.designsystem" @@ -236,13 +253,21 @@ object core extends mill.api.Module { override def moduleDeps = super.moduleDeps ++ Seq( core.data, -// core.dataTesting + core.`data-testing` ) // testing??? } -// object domainTesting extends BaseAndroidModule + object `domain-testing` extends BaseAndroidModule { + override def androidNamespace: String = "com.example.jetcaster.core.domain.testing" + + // testing??? + + override def moduleDeps = super.moduleDeps ++ Seq( + core.domain + ) + } } @@ -343,7 +368,7 @@ object mobile extends BaseHiltAndroidModule, AndroidR8AppModule { core.designsystem, core.domain, glancewidget, -// core.domainTesting + core.`domain-testing` ) @@ -386,7 +411,6 @@ object mobile extends BaseHiltAndroidModule, AndroidR8AppModule { // Compose mvn"androidx.activity:activity-compose:1.10.1", mvn"androidx.compose.foundation:foundation", - mvn"com.google.android.material:material:1.13.0-alpha13", mvn"androidx.compose.material3:material3", mvn"androidx.compose.material3.adaptive:adaptive", mvn"androidx.compose.material3.adaptive:adaptive-layout", @@ -416,5 +440,11 @@ object mobile extends BaseHiltAndroidModule, AndroidR8AppModule { mvn"androidx.window:window-core:1.4.0", mvn"com.google.accompanist:accompanist-adaptive:0.37.3", mvn"io.coil-kt:coil-compose:2.7.0", + + // extra deps + mvn"com.google.android.material:material:1.13.0-alpha13", + mvn"androidx.compose.material:material-icons-extended", + + ) ++ (if (androidIsDebug()) debugMvnDeps() else Seq()) } From 50b88b015d80c813045cd69dc40377812c14e140 Mon Sep 17 00:00:00 2001 From: Souvlakia Date: Fri, 7 Nov 2025 13:41:56 +0200 Subject: [PATCH 5/7] cleanup --- Jetcaster/package.mill | 64 ------------------------------------------ 1 file changed, 64 deletions(-) diff --git a/Jetcaster/package.mill b/Jetcaster/package.mill index 75dc81c63..fb279ea87 100644 --- a/Jetcaster/package.mill +++ b/Jetcaster/package.mill @@ -19,70 +19,6 @@ object Versions { val androidMinSdk = 21 } -/* -##### -# This file is duplicated to individual samples from the global scripts/libs.versions.toml -# Do not add a dependency to an individual sample, edit the global version instead. -##### -[versions] -accompanist = "0.37.3" -android-material3 = "1.13.0-alpha13" -androidGradlePlugin = "8.10.1" -androidx-activity-compose = "1.10.1" -androidx-appcompat = "1.7.1" -androidx-compose-bom = "2025.06.00" -androidx-constraintlayout = "1.1.1" -androidx-core-splashscreen = "1.0.1" -androidx-corektx = "1.16.0" -androidx-glance = "1.1.1" -androidx-lifecycle = "2.8.2" -androidx-lifecycle-compose = "2.9.1" -androidx-lifecycle-runtime-compose = "2.9.1" -androidx-navigation = "2.9.0" -androidx-palette = "1.0.0" -androidx-test = "1.6.1" -androidx-test-espresso = "3.6.1" -androidx-test-ext-junit = "1.2.1" -androidx-test-ext-truth = "1.6.0" -androidx-tv-foundation = "1.0.0-alpha12" -androidx-tv-material = "1.0.0" -androidx-wear-compose-material3 = "1.5.0-beta03" -androidx-wear-compose = "1.5.0-beta03" -androidx-window = "1.4.0" -androidxHiltNavigationCompose = "1.2.0" -androix-test-uiautomator = "2.3.0" -coil = "2.7.0" -# @keep -compileSdk = "36" -coroutines = "1.10.2" -google-maps = "19.2.0" -gradle-versions = "0.52.0" -hilt = "2.56.2" -hiltExt = "1.2.0" -horologist = "0.7.14-beta" -jdkDesugar = "2.1.5" -junit = "4.13.2" -kotlin = "2.1.21" -kotlinx-serialization-json = "1.8.1" -kotlinx_immutable = "0.4.0" -ksp = "2.1.21-2.0.2" -maps-compose = "6.6.0" -media3 = "1.7.1" -# @keep -minSdk = "21" -okhttp = "4.12.0" -play-services-wearable = "19.0.0" -robolectric = "4.14.1" -roborazzi = "1.45.1" -rome = "2.1.0" -room = "2.7.1" -secrets = "2.0.1" -spotless = "7.0.4" -# @keep -targetSdk = "33" -version-catalog-update = "1.0.0" - */ - trait BaseAndroidModule extends AndroidKotlinModule { def kotlinVersion = Versions.kotlinVersion From 9e34b23f2eed7662f9f0742f6c2e490e51a0cd00 Mon Sep 17 00:00:00 2001 From: Souvlakia Date: Mon, 10 Nov 2025 11:35:52 +0200 Subject: [PATCH 6/7] add enableCompose only where needed --- Jetcaster/package.mill | 33 +++++++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/Jetcaster/package.mill b/Jetcaster/package.mill index fb279ea87..9f44648e5 100644 --- a/Jetcaster/package.mill +++ b/Jetcaster/package.mill @@ -27,12 +27,6 @@ trait BaseAndroidModule extends AndroidKotlinModule { def androidCompileSdk = Versions.androidCompileSdk def androidMinSdk = Versions.androidMinSdk - - def androidEnableCompose: T[Boolean] = true - - def bomMvnDeps: T[Seq[Dep]] = Seq( - mvn"androidx.compose:compose-bom:2025.06.00" - ) } trait BaseHiltAndroidModule extends BaseAndroidModule, AndroidHiltSupport { @@ -81,6 +75,12 @@ object core extends mill.api.Module { object data extends BaseHiltAndroidModule { override def androidNamespace: String = "com.example.jetcaster.core.data" + def androidEnableCompose: T[Boolean] = true + + def bomMvnDeps: T[Seq[Dep]] = Seq( + mvn"androidx.compose:compose-bom:2025.06.00" + ) + override def mvnDeps: T[Seq[Dep]] = super.mvnDeps() ++ Seq( /* implementation(libs.androidx.core.ktx) @@ -147,8 +147,15 @@ object core extends mill.api.Module { } object designsystem extends BaseAndroidModule { + override def androidNamespace: String = "com.example.jetcaster.core.designsystem" + def androidEnableCompose: T[Boolean] = true + + def bomMvnDeps: T[Seq[Dep]] = Seq( + mvn"androidx.compose:compose-bom:2025.06.00" + ) + override def mvnDeps: T[Seq[Dep]] = super.mvnDeps() ++ Seq( /* implementation(composeBom) @@ -210,6 +217,13 @@ object core extends mill.api.Module { object glancewidget extends BaseAndroidModule { override def androidNamespace: String = "com.example.jetcaster.glancewidget" + + def androidEnableCompose: T[Boolean] = true + + def bomMvnDeps: T[Seq[Dep]] = Seq( + mvn"androidx.compose:compose-bom:2025.06.00" + ) + /* debugImplementation(libs.androidx.compose.ui.tooling) debugImplementation(libs.androidx.compose.ui.test.manifest) @@ -272,6 +286,12 @@ object mobile extends BaseHiltAndroidModule, AndroidR8AppModule { override def androidApplicationId: String = "com.example.jetcaster" + def androidEnableCompose: T[Boolean] = true + + def bomMvnDeps: T[Seq[Dep]] = Seq( + mvn"androidx.compose:compose-bom:2025.06.00" + ) + override def androidDebugSettings: T[AndroidBuildTypeSettings] = Task { AndroidBuildTypeSettings( isMinifyEnabled = false @@ -383,4 +403,5 @@ object mobile extends BaseHiltAndroidModule, AndroidR8AppModule { ) ++ (if (androidIsDebug()) debugMvnDeps() else Seq()) + } From 888bfc9f5734111f7c34deb238ce681c50b6e7ee Mon Sep 17 00:00:00 2001 From: Souvlakia Date: Mon, 10 Nov 2025 14:44:16 +0200 Subject: [PATCH 7/7] app launches --- Jetcaster/package.mill | 35 ++++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/Jetcaster/package.mill b/Jetcaster/package.mill index 9f44648e5..0a4cb66fe 100644 --- a/Jetcaster/package.mill +++ b/Jetcaster/package.mill @@ -37,10 +37,6 @@ trait BaseHiltAndroidModule extends BaseAndroidModule, AndroidHiltSupport { true } - def kotlinSymbolProcessors: T[Seq[Dep]] = Seq( - mvn"com.google.dagger:hilt-compiler:2.56.2" - ) - def generatedBuildConfig: T[PathRef] = Task { val buildType = if (androidIsDebug()) "debug" else "release" val content: String = @@ -78,7 +74,12 @@ object core extends mill.api.Module { def androidEnableCompose: T[Boolean] = true def bomMvnDeps: T[Seq[Dep]] = Seq( - mvn"androidx.compose:compose-bom:2025.06.00" + mvn"androidx.compose:compose-bom-alpha:2025.06.00" + ) + + def kotlinSymbolProcessors: T[Seq[Dep]] = Seq( + mvn"com.google.dagger:hilt-compiler:2.56.2", + mvn"androidx.room:room-compiler:2.7.1" ) override def mvnDeps: T[Seq[Dep]] = super.mvnDeps() ++ Seq( @@ -153,7 +154,7 @@ object core extends mill.api.Module { def androidEnableCompose: T[Boolean] = true def bomMvnDeps: T[Seq[Dep]] = Seq( - mvn"androidx.compose:compose-bom:2025.06.00" + mvn"androidx.compose:compose-bom-alpha:2025.06.00" ) override def mvnDeps: T[Seq[Dep]] = super.mvnDeps() ++ Seq( @@ -182,6 +183,10 @@ object core extends mill.api.Module { object domain extends BaseHiltAndroidModule { override def androidNamespace: String = "com.example.jetcaster.core.domain" + def kotlinSymbolProcessors: T[Seq[Dep]] = Seq( + mvn"com.google.dagger:hilt-compiler:2.56.2", + ) + override def mvnDeps: T[Seq[Dep]] = super.mvnDeps() ++ Seq( /* @@ -221,7 +226,7 @@ object glancewidget extends BaseAndroidModule { def androidEnableCompose: T[Boolean] = true def bomMvnDeps: T[Seq[Dep]] = Seq( - mvn"androidx.compose:compose-bom:2025.06.00" + mvn"androidx.compose:compose-bom-alpha:2025.06.00" ) /* @@ -289,7 +294,11 @@ object mobile extends BaseHiltAndroidModule, AndroidR8AppModule { def androidEnableCompose: T[Boolean] = true def bomMvnDeps: T[Seq[Dep]] = Seq( - mvn"androidx.compose:compose-bom:2025.06.00" + mvn"androidx.compose:compose-bom-alpha:2025.06.00" + ) + + def kotlinSymbolProcessors: T[Seq[Dep]] = Seq( + mvn"com.google.dagger:hilt-compiler:2.56.2", ) override def androidDebugSettings: T[AndroidBuildTypeSettings] = Task { @@ -305,6 +314,11 @@ object mobile extends BaseHiltAndroidModule, AndroidR8AppModule { Seq("proguard-android-optimize.txt") } + // Missing javax.xml.* + // Missing javax.lang.model.* + // Missing org.jaxen.* + override def androidR8Args = Seq("--map-diagnostics", "error", "warning") + private def debugMvnDeps: T[Seq[Dep]] = Task { Seq( @@ -397,11 +411,6 @@ object mobile extends BaseHiltAndroidModule, AndroidR8AppModule { mvn"com.google.accompanist:accompanist-adaptive:0.37.3", mvn"io.coil-kt:coil-compose:2.7.0", - // extra deps - mvn"com.google.android.material:material:1.13.0-alpha13", - mvn"androidx.compose.material:material-icons-extended", - - ) ++ (if (androidIsDebug()) debugMvnDeps() else Seq()) }