From 1f729a896c02e60a33ac6e2d42b8ed178a0beb35 Mon Sep 17 00:00:00 2001 From: Simon Marquis Date: Fri, 16 Jan 2026 11:15:14 +0000 Subject: [PATCH 01/11] Update README files that contained old svg references --- core/navigation/README.md | 51 ++++++++++++++- feature/interests/impl/README.md | 104 ++++++++++++++++++++++++++++++- feature/topic/api/README.md | 69 +++++++++++++++++++- feature/topic/impl/README.md | 95 +++++++++++++++++++++++++++- 4 files changed, 307 insertions(+), 12 deletions(-) diff --git a/core/navigation/README.md b/core/navigation/README.md index 7cd3b7e9f..88b78d1ce 100644 --- a/core/navigation/README.md +++ b/core/navigation/README.md @@ -1,3 +1,48 @@ -# :core:navigation module -## Dependency graph -![Dependency graph](../../docs/images/graphs/dep_graph_core_navigation.svg) +# `:core:navigation` + +## Module dependency graph + + +```mermaid +--- +config: + layout: elk + elk: + nodePlacementStrategy: SIMPLE +--- +graph TB + subgraph :core + direction TB + :core:navigation[navigation]:::android-library + end + +classDef android-application fill:#CAFFBF,stroke:#000,stroke-width:2px,color:#000; +classDef android-feature fill:#FFD6A5,stroke:#000,stroke-width:2px,color:#000; +classDef android-library fill:#9BF6FF,stroke:#000,stroke-width:2px,color:#000; +classDef android-test fill:#A0C4FF,stroke:#000,stroke-width:2px,color:#000; +classDef jvm-library fill:#BDB2FF,stroke:#000,stroke-width:2px,color:#000; +classDef unknown fill:#FFADAD,stroke:#000,stroke-width:2px,color:#000; +``` + +
📋 Graph legend + +```mermaid +graph TB + application[application]:::android-application + feature[feature]:::android-feature + library[library]:::android-library + jvm[jvm]:::jvm-library + + application -.-> feature + library --> jvm + +classDef android-application fill:#CAFFBF,stroke:#000,stroke-width:2px,color:#000; +classDef android-feature fill:#FFD6A5,stroke:#000,stroke-width:2px,color:#000; +classDef android-library fill:#9BF6FF,stroke:#000,stroke-width:2px,color:#000; +classDef android-test fill:#A0C4FF,stroke:#000,stroke-width:2px,color:#000; +classDef jvm-library fill:#BDB2FF,stroke:#000,stroke-width:2px,color:#000; +classDef unknown fill:#FFADAD,stroke:#000,stroke-width:2px,color:#000; +``` + +
+ diff --git a/feature/interests/impl/README.md b/feature/interests/impl/README.md index 722f4ef41..d3a5da42e 100644 --- a/feature/interests/impl/README.md +++ b/feature/interests/impl/README.md @@ -1,3 +1,101 @@ -# :feature:interests:impl module -## Dependency graph -![Dependency graph](../../../docs/images/graphs/dep_graph_feature_interests_impl.svg) +# `:feature:interests:impl` + +## Module dependency graph + + +```mermaid +--- +config: + layout: elk + elk: + nodePlacementStrategy: SIMPLE +--- +graph TB + subgraph :feature + direction TB + subgraph :feature:interests + direction TB + :feature:interests:api[api]:::android-library + :feature:interests:impl[impl]:::android-library + end + subgraph :feature:topic + direction TB + :feature:topic:api[api]:::android-library + end + end + subgraph :core + direction TB + :core:analytics[analytics]:::android-library + :core:common[common]:::jvm-library + :core:data[data]:::android-library + :core:database[database]:::android-library + :core:datastore[datastore]:::android-library + :core:datastore-proto[datastore-proto]:::android-library + :core:designsystem[designsystem]:::android-library + :core:domain[domain]:::android-library + :core:model[model]:::jvm-library + :core:navigation[navigation]:::android-library + :core:network[network]:::android-library + :core:notifications[notifications]:::android-library + :core:ui[ui]:::android-library + end + + :core:data -.-> :core:analytics + :core:data --> :core:common + :core:data --> :core:database + :core:data --> :core:datastore + :core:data --> :core:network + :core:data -.-> :core:notifications + :core:database --> :core:model + :core:datastore -.-> :core:common + :core:datastore --> :core:datastore-proto + :core:datastore --> :core:model + :core:domain --> :core:data + :core:domain --> :core:model + :core:network --> :core:common + :core:network --> :core:model + :core:notifications -.-> :core:common + :core:notifications --> :core:model + :core:ui --> :core:analytics + :core:ui --> :core:designsystem + :core:ui --> :core:model + :feature:interests:api --> :core:navigation + :feature:interests:impl -.-> :core:designsystem + :feature:interests:impl -.-> :core:domain + :feature:interests:impl -.-> :core:ui + :feature:interests:impl -.-> :feature:interests:api + :feature:interests:impl -.-> :feature:topic:api + :feature:topic:api -.-> :core:designsystem + :feature:topic:api --> :core:navigation + :feature:topic:api -.-> :core:ui + +classDef android-application fill:#CAFFBF,stroke:#000,stroke-width:2px,color:#000; +classDef android-feature fill:#FFD6A5,stroke:#000,stroke-width:2px,color:#000; +classDef android-library fill:#9BF6FF,stroke:#000,stroke-width:2px,color:#000; +classDef android-test fill:#A0C4FF,stroke:#000,stroke-width:2px,color:#000; +classDef jvm-library fill:#BDB2FF,stroke:#000,stroke-width:2px,color:#000; +classDef unknown fill:#FFADAD,stroke:#000,stroke-width:2px,color:#000; +``` + +
📋 Graph legend + +```mermaid +graph TB + application[application]:::android-application + feature[feature]:::android-feature + library[library]:::android-library + jvm[jvm]:::jvm-library + + application -.-> feature + library --> jvm + +classDef android-application fill:#CAFFBF,stroke:#000,stroke-width:2px,color:#000; +classDef android-feature fill:#FFD6A5,stroke:#000,stroke-width:2px,color:#000; +classDef android-library fill:#9BF6FF,stroke:#000,stroke-width:2px,color:#000; +classDef android-test fill:#A0C4FF,stroke:#000,stroke-width:2px,color:#000; +classDef jvm-library fill:#BDB2FF,stroke:#000,stroke-width:2px,color:#000; +classDef unknown fill:#FFADAD,stroke:#000,stroke-width:2px,color:#000; +``` + +
+ diff --git a/feature/topic/api/README.md b/feature/topic/api/README.md index 62103d57b..2baa9b879 100644 --- a/feature/topic/api/README.md +++ b/feature/topic/api/README.md @@ -1,3 +1,66 @@ -# :feature:topic:api module -## Dependency graph -![Dependency graph](../../../docs/images/graphs/dep_graph_feature_topic_api.svg) +# `:feature:topic:api` + +## Module dependency graph + + +```mermaid +--- +config: + layout: elk + elk: + nodePlacementStrategy: SIMPLE +--- +graph TB + subgraph :feature + direction TB + subgraph :feature:topic + direction TB + :feature:topic:api[api]:::android-library + end + end + subgraph :core + direction TB + :core:analytics[analytics]:::android-library + :core:designsystem[designsystem]:::android-library + :core:model[model]:::jvm-library + :core:navigation[navigation]:::android-library + :core:ui[ui]:::android-library + end + + :core:ui --> :core:analytics + :core:ui --> :core:designsystem + :core:ui --> :core:model + :feature:topic:api -.-> :core:designsystem + :feature:topic:api --> :core:navigation + :feature:topic:api -.-> :core:ui + +classDef android-application fill:#CAFFBF,stroke:#000,stroke-width:2px,color:#000; +classDef android-feature fill:#FFD6A5,stroke:#000,stroke-width:2px,color:#000; +classDef android-library fill:#9BF6FF,stroke:#000,stroke-width:2px,color:#000; +classDef android-test fill:#A0C4FF,stroke:#000,stroke-width:2px,color:#000; +classDef jvm-library fill:#BDB2FF,stroke:#000,stroke-width:2px,color:#000; +classDef unknown fill:#FFADAD,stroke:#000,stroke-width:2px,color:#000; +``` + +
📋 Graph legend + +```mermaid +graph TB + application[application]:::android-application + feature[feature]:::android-feature + library[library]:::android-library + jvm[jvm]:::jvm-library + + application -.-> feature + library --> jvm + +classDef android-application fill:#CAFFBF,stroke:#000,stroke-width:2px,color:#000; +classDef android-feature fill:#FFD6A5,stroke:#000,stroke-width:2px,color:#000; +classDef android-library fill:#9BF6FF,stroke:#000,stroke-width:2px,color:#000; +classDef android-test fill:#A0C4FF,stroke:#000,stroke-width:2px,color:#000; +classDef jvm-library fill:#BDB2FF,stroke:#000,stroke-width:2px,color:#000; +classDef unknown fill:#FFADAD,stroke:#000,stroke-width:2px,color:#000; +``` + +
+ diff --git a/feature/topic/impl/README.md b/feature/topic/impl/README.md index eee690ec0..d296093e6 100644 --- a/feature/topic/impl/README.md +++ b/feature/topic/impl/README.md @@ -1,3 +1,92 @@ -# :feature:topic:impl module -## Dependency graph -![Dependency graph](../../../docs/images/graphs/dep_graph_feature_topic_impl.svg) +# `:feature:topic:impl` + +## Module dependency graph + + +```mermaid +--- +config: + layout: elk + elk: + nodePlacementStrategy: SIMPLE +--- +graph TB + subgraph :feature + direction TB + subgraph :feature:topic + direction TB + :feature:topic:api[api]:::android-library + :feature:topic:impl[impl]:::android-library + end + end + subgraph :core + direction TB + :core:analytics[analytics]:::android-library + :core:common[common]:::jvm-library + :core:data[data]:::android-library + :core:database[database]:::android-library + :core:datastore[datastore]:::android-library + :core:datastore-proto[datastore-proto]:::android-library + :core:designsystem[designsystem]:::android-library + :core:model[model]:::jvm-library + :core:navigation[navigation]:::android-library + :core:network[network]:::android-library + :core:notifications[notifications]:::android-library + :core:ui[ui]:::android-library + end + + :core:data -.-> :core:analytics + :core:data --> :core:common + :core:data --> :core:database + :core:data --> :core:datastore + :core:data --> :core:network + :core:data -.-> :core:notifications + :core:database --> :core:model + :core:datastore -.-> :core:common + :core:datastore --> :core:datastore-proto + :core:datastore --> :core:model + :core:network --> :core:common + :core:network --> :core:model + :core:notifications -.-> :core:common + :core:notifications --> :core:model + :core:ui --> :core:analytics + :core:ui --> :core:designsystem + :core:ui --> :core:model + :feature:topic:api -.-> :core:designsystem + :feature:topic:api --> :core:navigation + :feature:topic:api -.-> :core:ui + :feature:topic:impl -.-> :core:data + :feature:topic:impl -.-> :core:designsystem + :feature:topic:impl -.-> :core:ui + :feature:topic:impl -.-> :feature:topic:api + +classDef android-application fill:#CAFFBF,stroke:#000,stroke-width:2px,color:#000; +classDef android-feature fill:#FFD6A5,stroke:#000,stroke-width:2px,color:#000; +classDef android-library fill:#9BF6FF,stroke:#000,stroke-width:2px,color:#000; +classDef android-test fill:#A0C4FF,stroke:#000,stroke-width:2px,color:#000; +classDef jvm-library fill:#BDB2FF,stroke:#000,stroke-width:2px,color:#000; +classDef unknown fill:#FFADAD,stroke:#000,stroke-width:2px,color:#000; +``` + +
📋 Graph legend + +```mermaid +graph TB + application[application]:::android-application + feature[feature]:::android-feature + library[library]:::android-library + jvm[jvm]:::jvm-library + + application -.-> feature + library --> jvm + +classDef android-application fill:#CAFFBF,stroke:#000,stroke-width:2px,color:#000; +classDef android-feature fill:#FFD6A5,stroke:#000,stroke-width:2px,color:#000; +classDef android-library fill:#9BF6FF,stroke:#000,stroke-width:2px,color:#000; +classDef android-test fill:#A0C4FF,stroke:#000,stroke-width:2px,color:#000; +classDef jvm-library fill:#BDB2FF,stroke:#000,stroke-width:2px,color:#000; +classDef unknown fill:#FFADAD,stroke:#000,stroke-width:2px,color:#000; +``` + +
+ From 69b7238b10078292c54eda8547d1e4dc44e2a1b5 Mon Sep 17 00:00:00 2001 From: TM Date: Fri, 23 Jan 2026 12:37:23 -0800 Subject: [PATCH 02/11] Update build.gradle.kts --- core/datastore-proto/build.gradle.kts | 8 -------- 1 file changed, 8 deletions(-) diff --git a/core/datastore-proto/build.gradle.kts b/core/datastore-proto/build.gradle.kts index 511518dde..be7a16d46 100644 --- a/core/datastore-proto/build.gradle.kts +++ b/core/datastore-proto/build.gradle.kts @@ -42,14 +42,6 @@ protobuf { } } -androidComponents.beforeVariants { - android.sourceSets.register(it.name) { - val buildDir = layout.buildDirectory.get().asFile - java.srcDir(buildDir.resolve("generated/source/proto/${it.name}/java")) - kotlin.srcDir(buildDir.resolve("generated/source/proto/${it.name}/kotlin")) - } -} - dependencies { api(libs.protobuf.kotlin.lite) } From 379956cb30cd10a4d9649a1c00661e9fdae187c9 Mon Sep 17 00:00:00 2001 From: Jaehwa Noh Date: Wed, 28 Jan 2026 07:37:28 +0900 Subject: [PATCH 03/11] Merge pull request #2045 from Jaehwa-Noh/rename-package Rename package properly --- .../apps/nowinandroid/util/ProfileVerifierLogger.kt | 2 +- .../core/{ => common}/network/NiaDispatchers.kt | 2 +- .../{ => common}/network/di/CoroutineScopesModule.kt | 8 ++++---- .../core/{ => common}/network/di/DispatchersModule.kt | 10 +++++----- .../nowinandroid/core/{ => common}/result/Result.kt | 2 +- .../core/{ => common}/result/ResultKtTest.kt | 5 +++-- .../core/data/test/repository/FakeNewsRepository.kt | 4 ++-- .../core/data/test/repository/FakeTopicsRepository.kt | 4 ++-- .../data/repository/DefaultSearchContentsRepository.kt | 4 ++-- .../data/util/ConnectivityManagerNetworkMonitor.kt | 4 ++-- .../nowinandroid/core/data/util/TimeZoneMonitor.kt | 6 +++--- .../nowinandroid/core/datastore/di/DataStoreModule.kt | 6 +++--- .../core/network/demo/DemoNiaNetworkDataSource.kt | 4 ++-- .../core/testing/di/TestDispatchersModule.kt | 8 ++++---- .../nowinandroid/feature/topic/impl/TopicViewModel.kt | 4 ++-- .../apps/nowinandroid/sync/workers/SyncWorker.kt | 4 ++-- 16 files changed, 39 insertions(+), 38 deletions(-) rename core/common/src/main/kotlin/com/google/samples/apps/nowinandroid/core/{ => common}/network/NiaDispatchers.kt (92%) rename core/common/src/main/kotlin/com/google/samples/apps/nowinandroid/core/{ => common}/network/di/CoroutineScopesModule.kt (81%) rename core/common/src/main/kotlin/com/google/samples/apps/nowinandroid/core/{ => common}/network/di/DispatchersModule.kt (74%) rename core/common/src/main/kotlin/com/google/samples/apps/nowinandroid/core/{ => common}/result/Result.kt (94%) rename core/common/src/test/kotlin/com/google/samples/apps/nowinandroid/core/{ => common}/result/ResultKtTest.kt (93%) diff --git a/app/src/main/kotlin/com/google/samples/apps/nowinandroid/util/ProfileVerifierLogger.kt b/app/src/main/kotlin/com/google/samples/apps/nowinandroid/util/ProfileVerifierLogger.kt index 595166f03..659b134b8 100644 --- a/app/src/main/kotlin/com/google/samples/apps/nowinandroid/util/ProfileVerifierLogger.kt +++ b/app/src/main/kotlin/com/google/samples/apps/nowinandroid/util/ProfileVerifierLogger.kt @@ -18,7 +18,7 @@ package com.google.samples.apps.nowinandroid.util import android.util.Log import androidx.profileinstaller.ProfileVerifier -import com.google.samples.apps.nowinandroid.core.network.di.ApplicationScope +import com.google.samples.apps.nowinandroid.core.common.network.di.ApplicationScope import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.guava.await import kotlinx.coroutines.launch diff --git a/core/common/src/main/kotlin/com/google/samples/apps/nowinandroid/core/network/NiaDispatchers.kt b/core/common/src/main/kotlin/com/google/samples/apps/nowinandroid/core/common/network/NiaDispatchers.kt similarity index 92% rename from core/common/src/main/kotlin/com/google/samples/apps/nowinandroid/core/network/NiaDispatchers.kt rename to core/common/src/main/kotlin/com/google/samples/apps/nowinandroid/core/common/network/NiaDispatchers.kt index 9c21dd69a..4309e7c75 100644 --- a/core/common/src/main/kotlin/com/google/samples/apps/nowinandroid/core/network/NiaDispatchers.kt +++ b/core/common/src/main/kotlin/com/google/samples/apps/nowinandroid/core/common/network/NiaDispatchers.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.google.samples.apps.nowinandroid.core.network +package com.google.samples.apps.nowinandroid.core.common.network import javax.inject.Qualifier import kotlin.annotation.AnnotationRetention.RUNTIME diff --git a/core/common/src/main/kotlin/com/google/samples/apps/nowinandroid/core/network/di/CoroutineScopesModule.kt b/core/common/src/main/kotlin/com/google/samples/apps/nowinandroid/core/common/network/di/CoroutineScopesModule.kt similarity index 81% rename from core/common/src/main/kotlin/com/google/samples/apps/nowinandroid/core/network/di/CoroutineScopesModule.kt rename to core/common/src/main/kotlin/com/google/samples/apps/nowinandroid/core/common/network/di/CoroutineScopesModule.kt index 6e7ca6bb3..20556ea24 100644 --- a/core/common/src/main/kotlin/com/google/samples/apps/nowinandroid/core/network/di/CoroutineScopesModule.kt +++ b/core/common/src/main/kotlin/com/google/samples/apps/nowinandroid/core/common/network/di/CoroutineScopesModule.kt @@ -1,5 +1,5 @@ /* - * Copyright 2023 The Android Open Source Project + * Copyright 2026 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,10 +14,10 @@ * limitations under the License. */ -package com.google.samples.apps.nowinandroid.core.network.di +package com.google.samples.apps.nowinandroid.core.common.network.di -import com.google.samples.apps.nowinandroid.core.network.Dispatcher -import com.google.samples.apps.nowinandroid.core.network.NiaDispatchers.Default +import com.google.samples.apps.nowinandroid.core.common.network.Dispatcher +import com.google.samples.apps.nowinandroid.core.common.network.NiaDispatchers.Default import dagger.Module import dagger.Provides import dagger.hilt.InstallIn diff --git a/core/common/src/main/kotlin/com/google/samples/apps/nowinandroid/core/network/di/DispatchersModule.kt b/core/common/src/main/kotlin/com/google/samples/apps/nowinandroid/core/common/network/di/DispatchersModule.kt similarity index 74% rename from core/common/src/main/kotlin/com/google/samples/apps/nowinandroid/core/network/di/DispatchersModule.kt rename to core/common/src/main/kotlin/com/google/samples/apps/nowinandroid/core/common/network/di/DispatchersModule.kt index 95ec07049..190b02d56 100644 --- a/core/common/src/main/kotlin/com/google/samples/apps/nowinandroid/core/network/di/DispatchersModule.kt +++ b/core/common/src/main/kotlin/com/google/samples/apps/nowinandroid/core/common/network/di/DispatchersModule.kt @@ -1,5 +1,5 @@ /* - * Copyright 2022 The Android Open Source Project + * Copyright 2026 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,11 +14,11 @@ * limitations under the License. */ -package com.google.samples.apps.nowinandroid.core.network.di +package com.google.samples.apps.nowinandroid.core.common.network.di -import com.google.samples.apps.nowinandroid.core.network.Dispatcher -import com.google.samples.apps.nowinandroid.core.network.NiaDispatchers.Default -import com.google.samples.apps.nowinandroid.core.network.NiaDispatchers.IO +import com.google.samples.apps.nowinandroid.core.common.network.Dispatcher +import com.google.samples.apps.nowinandroid.core.common.network.NiaDispatchers.Default +import com.google.samples.apps.nowinandroid.core.common.network.NiaDispatchers.IO import dagger.Module import dagger.Provides import dagger.hilt.InstallIn diff --git a/core/common/src/main/kotlin/com/google/samples/apps/nowinandroid/core/result/Result.kt b/core/common/src/main/kotlin/com/google/samples/apps/nowinandroid/core/common/result/Result.kt similarity index 94% rename from core/common/src/main/kotlin/com/google/samples/apps/nowinandroid/core/result/Result.kt rename to core/common/src/main/kotlin/com/google/samples/apps/nowinandroid/core/common/result/Result.kt index 22376d082..934b6dfb2 100644 --- a/core/common/src/main/kotlin/com/google/samples/apps/nowinandroid/core/result/Result.kt +++ b/core/common/src/main/kotlin/com/google/samples/apps/nowinandroid/core/common/result/Result.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.google.samples.apps.nowinandroid.core.result +package com.google.samples.apps.nowinandroid.core.common.result import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.catch diff --git a/core/common/src/test/kotlin/com/google/samples/apps/nowinandroid/core/result/ResultKtTest.kt b/core/common/src/test/kotlin/com/google/samples/apps/nowinandroid/core/common/result/ResultKtTest.kt similarity index 93% rename from core/common/src/test/kotlin/com/google/samples/apps/nowinandroid/core/result/ResultKtTest.kt rename to core/common/src/test/kotlin/com/google/samples/apps/nowinandroid/core/common/result/ResultKtTest.kt index 2c3c7b763..bad14764c 100644 --- a/core/common/src/test/kotlin/com/google/samples/apps/nowinandroid/core/result/ResultKtTest.kt +++ b/core/common/src/test/kotlin/com/google/samples/apps/nowinandroid/core/common/result/ResultKtTest.kt @@ -1,5 +1,5 @@ /* - * Copyright 2022 The Android Open Source Project + * Copyright 2026 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.google.samples.apps.nowinandroid.core.result +package com.google.samples.apps.nowinandroid.core.common.result import app.cash.turbine.test import kotlinx.coroutines.flow.flow @@ -40,6 +40,7 @@ class ResultKtTest { "Test Done", errorResult.exception.message, ) + Result.Loading, is Result.Success, -> throw IllegalStateException( diff --git a/core/data-test/src/main/kotlin/com/google/samples/apps/nowinandroid/core/data/test/repository/FakeNewsRepository.kt b/core/data-test/src/main/kotlin/com/google/samples/apps/nowinandroid/core/data/test/repository/FakeNewsRepository.kt index da90eae61..167f9e620 100644 --- a/core/data-test/src/main/kotlin/com/google/samples/apps/nowinandroid/core/data/test/repository/FakeNewsRepository.kt +++ b/core/data-test/src/main/kotlin/com/google/samples/apps/nowinandroid/core/data/test/repository/FakeNewsRepository.kt @@ -16,13 +16,13 @@ package com.google.samples.apps.nowinandroid.core.data.test.repository +import com.google.samples.apps.nowinandroid.core.common.network.Dispatcher +import com.google.samples.apps.nowinandroid.core.common.network.NiaDispatchers.IO import com.google.samples.apps.nowinandroid.core.data.Synchronizer import com.google.samples.apps.nowinandroid.core.data.model.asExternalModel import com.google.samples.apps.nowinandroid.core.data.repository.NewsRepository import com.google.samples.apps.nowinandroid.core.data.repository.NewsResourceQuery import com.google.samples.apps.nowinandroid.core.model.data.NewsResource -import com.google.samples.apps.nowinandroid.core.network.Dispatcher -import com.google.samples.apps.nowinandroid.core.network.NiaDispatchers.IO import com.google.samples.apps.nowinandroid.core.network.demo.DemoNiaNetworkDataSource import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.flow.Flow diff --git a/core/data-test/src/main/kotlin/com/google/samples/apps/nowinandroid/core/data/test/repository/FakeTopicsRepository.kt b/core/data-test/src/main/kotlin/com/google/samples/apps/nowinandroid/core/data/test/repository/FakeTopicsRepository.kt index 0b81dd309..3a73024f0 100644 --- a/core/data-test/src/main/kotlin/com/google/samples/apps/nowinandroid/core/data/test/repository/FakeTopicsRepository.kt +++ b/core/data-test/src/main/kotlin/com/google/samples/apps/nowinandroid/core/data/test/repository/FakeTopicsRepository.kt @@ -16,11 +16,11 @@ package com.google.samples.apps.nowinandroid.core.data.test.repository +import com.google.samples.apps.nowinandroid.core.common.network.Dispatcher +import com.google.samples.apps.nowinandroid.core.common.network.NiaDispatchers.IO import com.google.samples.apps.nowinandroid.core.data.Synchronizer import com.google.samples.apps.nowinandroid.core.data.repository.TopicsRepository import com.google.samples.apps.nowinandroid.core.model.data.Topic -import com.google.samples.apps.nowinandroid.core.network.Dispatcher -import com.google.samples.apps.nowinandroid.core.network.NiaDispatchers.IO import com.google.samples.apps.nowinandroid.core.network.demo.DemoNiaNetworkDataSource import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.flow.Flow diff --git a/core/data/src/main/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/DefaultSearchContentsRepository.kt b/core/data/src/main/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/DefaultSearchContentsRepository.kt index 3bacb8a14..87531399a 100644 --- a/core/data/src/main/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/DefaultSearchContentsRepository.kt +++ b/core/data/src/main/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/DefaultSearchContentsRepository.kt @@ -16,6 +16,8 @@ package com.google.samples.apps.nowinandroid.core.data.repository +import com.google.samples.apps.nowinandroid.core.common.network.Dispatcher +import com.google.samples.apps.nowinandroid.core.common.network.NiaDispatchers.IO import com.google.samples.apps.nowinandroid.core.database.dao.NewsResourceDao import com.google.samples.apps.nowinandroid.core.database.dao.NewsResourceFtsDao import com.google.samples.apps.nowinandroid.core.database.dao.TopicDao @@ -24,8 +26,6 @@ import com.google.samples.apps.nowinandroid.core.database.model.PopulatedNewsRes import com.google.samples.apps.nowinandroid.core.database.model.asExternalModel import com.google.samples.apps.nowinandroid.core.database.model.asFtsEntity import com.google.samples.apps.nowinandroid.core.model.data.SearchResult -import com.google.samples.apps.nowinandroid.core.network.Dispatcher -import com.google.samples.apps.nowinandroid.core.network.NiaDispatchers.IO import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.combine diff --git a/core/data/src/main/kotlin/com/google/samples/apps/nowinandroid/core/data/util/ConnectivityManagerNetworkMonitor.kt b/core/data/src/main/kotlin/com/google/samples/apps/nowinandroid/core/data/util/ConnectivityManagerNetworkMonitor.kt index ea9e4de52..dc075f299 100644 --- a/core/data/src/main/kotlin/com/google/samples/apps/nowinandroid/core/data/util/ConnectivityManagerNetworkMonitor.kt +++ b/core/data/src/main/kotlin/com/google/samples/apps/nowinandroid/core/data/util/ConnectivityManagerNetworkMonitor.kt @@ -25,8 +25,8 @@ import android.net.NetworkRequest import android.net.NetworkRequest.Builder import androidx.core.content.getSystemService import androidx.tracing.trace -import com.google.samples.apps.nowinandroid.core.network.Dispatcher -import com.google.samples.apps.nowinandroid.core.network.NiaDispatchers.IO +import com.google.samples.apps.nowinandroid.core.common.network.Dispatcher +import com.google.samples.apps.nowinandroid.core.common.network.NiaDispatchers.IO import dagger.hilt.android.qualifiers.ApplicationContext import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.channels.awaitClose diff --git a/core/data/src/main/kotlin/com/google/samples/apps/nowinandroid/core/data/util/TimeZoneMonitor.kt b/core/data/src/main/kotlin/com/google/samples/apps/nowinandroid/core/data/util/TimeZoneMonitor.kt index 031bc9388..5b082db32 100644 --- a/core/data/src/main/kotlin/com/google/samples/apps/nowinandroid/core/data/util/TimeZoneMonitor.kt +++ b/core/data/src/main/kotlin/com/google/samples/apps/nowinandroid/core/data/util/TimeZoneMonitor.kt @@ -23,9 +23,9 @@ import android.content.IntentFilter import android.os.Build.VERSION import android.os.Build.VERSION_CODES import androidx.tracing.trace -import com.google.samples.apps.nowinandroid.core.network.Dispatcher -import com.google.samples.apps.nowinandroid.core.network.NiaDispatchers.IO -import com.google.samples.apps.nowinandroid.core.network.di.ApplicationScope +import com.google.samples.apps.nowinandroid.core.common.network.Dispatcher +import com.google.samples.apps.nowinandroid.core.common.network.NiaDispatchers.IO +import com.google.samples.apps.nowinandroid.core.common.network.di.ApplicationScope import dagger.hilt.android.qualifiers.ApplicationContext import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.CoroutineScope diff --git a/core/datastore/src/main/kotlin/com/google/samples/apps/nowinandroid/core/datastore/di/DataStoreModule.kt b/core/datastore/src/main/kotlin/com/google/samples/apps/nowinandroid/core/datastore/di/DataStoreModule.kt index 8e0d7d4d8..9d3975674 100644 --- a/core/datastore/src/main/kotlin/com/google/samples/apps/nowinandroid/core/datastore/di/DataStoreModule.kt +++ b/core/datastore/src/main/kotlin/com/google/samples/apps/nowinandroid/core/datastore/di/DataStoreModule.kt @@ -20,12 +20,12 @@ import android.content.Context import androidx.datastore.core.DataStore import androidx.datastore.core.DataStoreFactory import androidx.datastore.dataStoreFile +import com.google.samples.apps.nowinandroid.core.common.network.Dispatcher +import com.google.samples.apps.nowinandroid.core.common.network.NiaDispatchers.IO +import com.google.samples.apps.nowinandroid.core.common.network.di.ApplicationScope import com.google.samples.apps.nowinandroid.core.datastore.IntToStringIdsMigration import com.google.samples.apps.nowinandroid.core.datastore.UserPreferences import com.google.samples.apps.nowinandroid.core.datastore.UserPreferencesSerializer -import com.google.samples.apps.nowinandroid.core.network.Dispatcher -import com.google.samples.apps.nowinandroid.core.network.NiaDispatchers.IO -import com.google.samples.apps.nowinandroid.core.network.di.ApplicationScope import dagger.Module import dagger.Provides import dagger.hilt.InstallIn diff --git a/core/network/src/main/kotlin/com/google/samples/apps/nowinandroid/core/network/demo/DemoNiaNetworkDataSource.kt b/core/network/src/main/kotlin/com/google/samples/apps/nowinandroid/core/network/demo/DemoNiaNetworkDataSource.kt index 328cc4e0f..5ef48c548 100644 --- a/core/network/src/main/kotlin/com/google/samples/apps/nowinandroid/core/network/demo/DemoNiaNetworkDataSource.kt +++ b/core/network/src/main/kotlin/com/google/samples/apps/nowinandroid/core/network/demo/DemoNiaNetworkDataSource.kt @@ -19,8 +19,8 @@ package com.google.samples.apps.nowinandroid.core.network.demo import JvmUnitTestDemoAssetManager import android.os.Build.VERSION.SDK_INT import android.os.Build.VERSION_CODES.M -import com.google.samples.apps.nowinandroid.core.network.Dispatcher -import com.google.samples.apps.nowinandroid.core.network.NiaDispatchers.IO +import com.google.samples.apps.nowinandroid.core.common.network.Dispatcher +import com.google.samples.apps.nowinandroid.core.common.network.NiaDispatchers.IO import com.google.samples.apps.nowinandroid.core.network.NiaNetworkDataSource import com.google.samples.apps.nowinandroid.core.network.model.NetworkChangeList import com.google.samples.apps.nowinandroid.core.network.model.NetworkNewsResource diff --git a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/di/TestDispatchersModule.kt b/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/di/TestDispatchersModule.kt index 4f5d15be1..72bdc4819 100644 --- a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/di/TestDispatchersModule.kt +++ b/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/di/TestDispatchersModule.kt @@ -16,10 +16,10 @@ package com.google.samples.apps.nowinandroid.core.testing.di -import com.google.samples.apps.nowinandroid.core.network.Dispatcher -import com.google.samples.apps.nowinandroid.core.network.NiaDispatchers.Default -import com.google.samples.apps.nowinandroid.core.network.NiaDispatchers.IO -import com.google.samples.apps.nowinandroid.core.network.di.DispatchersModule +import com.google.samples.apps.nowinandroid.core.common.network.Dispatcher +import com.google.samples.apps.nowinandroid.core.common.network.NiaDispatchers.Default +import com.google.samples.apps.nowinandroid.core.common.network.NiaDispatchers.IO +import com.google.samples.apps.nowinandroid.core.common.network.di.DispatchersModule import dagger.Module import dagger.Provides import dagger.hilt.components.SingletonComponent diff --git a/feature/topic/impl/src/main/kotlin/com/google/samples/apps/nowinandroid/feature/topic/impl/TopicViewModel.kt b/feature/topic/impl/src/main/kotlin/com/google/samples/apps/nowinandroid/feature/topic/impl/TopicViewModel.kt index 8f780f025..f604eb65b 100644 --- a/feature/topic/impl/src/main/kotlin/com/google/samples/apps/nowinandroid/feature/topic/impl/TopicViewModel.kt +++ b/feature/topic/impl/src/main/kotlin/com/google/samples/apps/nowinandroid/feature/topic/impl/TopicViewModel.kt @@ -18,6 +18,8 @@ package com.google.samples.apps.nowinandroid.feature.topic.impl import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope +import com.google.samples.apps.nowinandroid.core.common.result.Result +import com.google.samples.apps.nowinandroid.core.common.result.asResult import com.google.samples.apps.nowinandroid.core.data.repository.NewsResourceQuery import com.google.samples.apps.nowinandroid.core.data.repository.TopicsRepository import com.google.samples.apps.nowinandroid.core.data.repository.UserDataRepository @@ -25,8 +27,6 @@ import com.google.samples.apps.nowinandroid.core.data.repository.UserNewsResourc import com.google.samples.apps.nowinandroid.core.model.data.FollowableTopic import com.google.samples.apps.nowinandroid.core.model.data.Topic import com.google.samples.apps.nowinandroid.core.model.data.UserNewsResource -import com.google.samples.apps.nowinandroid.core.result.Result -import com.google.samples.apps.nowinandroid.core.result.asResult import dagger.assisted.Assisted import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject diff --git a/sync/work/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/workers/SyncWorker.kt b/sync/work/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/workers/SyncWorker.kt index ea5f36042..276d1f0ab 100644 --- a/sync/work/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/workers/SyncWorker.kt +++ b/sync/work/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/workers/SyncWorker.kt @@ -25,14 +25,14 @@ import androidx.work.OneTimeWorkRequestBuilder import androidx.work.OutOfQuotaPolicy import androidx.work.WorkerParameters import com.google.samples.apps.nowinandroid.core.analytics.AnalyticsHelper +import com.google.samples.apps.nowinandroid.core.common.network.Dispatcher +import com.google.samples.apps.nowinandroid.core.common.network.NiaDispatchers.IO import com.google.samples.apps.nowinandroid.core.data.Synchronizer import com.google.samples.apps.nowinandroid.core.data.repository.NewsRepository import com.google.samples.apps.nowinandroid.core.data.repository.SearchContentsRepository import com.google.samples.apps.nowinandroid.core.data.repository.TopicsRepository import com.google.samples.apps.nowinandroid.core.datastore.ChangeListVersions import com.google.samples.apps.nowinandroid.core.datastore.NiaPreferencesDataSource -import com.google.samples.apps.nowinandroid.core.network.Dispatcher -import com.google.samples.apps.nowinandroid.core.network.NiaDispatchers.IO import com.google.samples.apps.nowinandroid.sync.initializers.SyncConstraints import com.google.samples.apps.nowinandroid.sync.initializers.syncForegroundInfo import com.google.samples.apps.nowinandroid.sync.status.SyncSubscriber From eee94e4b7df65504523d7e726901764e9df251fc Mon Sep 17 00:00:00 2001 From: Jaehwa Noh Date: Wed, 28 Jan 2026 08:36:34 +0900 Subject: [PATCH 04/11] Finalize bump agp 9.0 (enable newDsl) (#2054) * Bump protobufPlugin 0.9.6 Change-Id: I9f4174946f043c79bba9a669655f6654036b5679 * Change Android library to Jvm library. Change-Id: I20ca1f71610f26a18d4573b3122994bc32c18723 * Enable newDsl. Change-Id: Ifb855133593f64771e81f60b96c3e34d946dac8f * Update README. Change-Id: I3df518dd4a5f37ba7ca6e568914783b1ea417fce --- app/README.md | 2 +- benchmarks/README.md | 2 +- core/data-test/README.md | 2 +- core/data/README.md | 2 +- core/datastore-proto/README.md | 2 +- core/datastore-proto/build.gradle.kts | 12 ++++-------- core/datastore-test/README.md | 2 +- core/datastore/README.md | 2 +- core/domain/README.md | 2 +- core/testing/README.md | 2 +- feature/bookmarks/impl/README.md | 2 +- feature/foryou/impl/README.md | 2 +- feature/search/api/README.md | 2 +- feature/search/impl/README.md | 2 +- feature/settings/impl/README.md | 2 +- gradle.properties | 4 ---- gradle/libs.versions.toml | 2 +- sync/sync-test/README.md | 2 +- sync/work/README.md | 2 +- 19 files changed, 21 insertions(+), 29 deletions(-) diff --git a/app/README.md b/app/README.md index cbcdc35be..bc2e9cb41 100644 --- a/app/README.md +++ b/app/README.md @@ -54,7 +54,7 @@ graph TB :core:data[data]:::android-library :core:database[database]:::android-library :core:datastore[datastore]:::android-library - :core:datastore-proto[datastore-proto]:::android-library + :core:datastore-proto[datastore-proto]:::jvm-library :core:designsystem[designsystem]:::android-library :core:domain[domain]:::android-library :core:model[model]:::jvm-library diff --git a/benchmarks/README.md b/benchmarks/README.md index c2bbf2a2a..14218e6f2 100644 --- a/benchmarks/README.md +++ b/benchmarks/README.md @@ -54,7 +54,7 @@ graph TB :core:data[data]:::android-library :core:database[database]:::android-library :core:datastore[datastore]:::android-library - :core:datastore-proto[datastore-proto]:::android-library + :core:datastore-proto[datastore-proto]:::jvm-library :core:designsystem[designsystem]:::android-library :core:domain[domain]:::android-library :core:model[model]:::jvm-library diff --git a/core/data-test/README.md b/core/data-test/README.md index b36f5b66d..4bad1f06c 100644 --- a/core/data-test/README.md +++ b/core/data-test/README.md @@ -19,7 +19,7 @@ graph TB :core:data-test[data-test]:::android-library :core:database[database]:::android-library :core:datastore[datastore]:::android-library - :core:datastore-proto[datastore-proto]:::android-library + :core:datastore-proto[datastore-proto]:::jvm-library :core:model[model]:::jvm-library :core:network[network]:::android-library :core:notifications[notifications]:::android-library diff --git a/core/data/README.md b/core/data/README.md index 0b84940d2..0c8732a25 100644 --- a/core/data/README.md +++ b/core/data/README.md @@ -18,7 +18,7 @@ graph TB :core:data[data]:::android-library :core:database[database]:::android-library :core:datastore[datastore]:::android-library - :core:datastore-proto[datastore-proto]:::android-library + :core:datastore-proto[datastore-proto]:::jvm-library :core:model[model]:::jvm-library :core:network[network]:::android-library :core:notifications[notifications]:::android-library diff --git a/core/datastore-proto/README.md b/core/datastore-proto/README.md index 859e39756..80c4ce5b6 100644 --- a/core/datastore-proto/README.md +++ b/core/datastore-proto/README.md @@ -13,7 +13,7 @@ config: graph TB subgraph :core direction TB - :core:datastore-proto[datastore-proto]:::android-library + :core:datastore-proto[datastore-proto]:::jvm-library end classDef android-application fill:#CAFFBF,stroke:#000,stroke-width:2px,color:#000; diff --git a/core/datastore-proto/build.gradle.kts b/core/datastore-proto/build.gradle.kts index be7a16d46..67e9bed02 100644 --- a/core/datastore-proto/build.gradle.kts +++ b/core/datastore-proto/build.gradle.kts @@ -15,23 +15,19 @@ */ plugins { - alias(libs.plugins.nowinandroid.android.library) + alias(libs.plugins.nowinandroid.jvm.library) alias(libs.plugins.protobuf) } -android { - namespace = "com.google.samples.apps.nowinandroid.core.datastore.proto" -} - // Setup protobuf configuration, generating lite Java and Kotlin classes protobuf { protoc { artifact = libs.protobuf.protoc.get().toString() } generateProtoTasks { - all().forEach { task -> - task.builtins { - register("java") { + all().configureEach { + builtins { + named("java") { option("lite") } register("kotlin") { diff --git a/core/datastore-test/README.md b/core/datastore-test/README.md index 6de8718e8..1cafe7df8 100644 --- a/core/datastore-test/README.md +++ b/core/datastore-test/README.md @@ -15,7 +15,7 @@ graph TB direction TB :core:common[common]:::jvm-library :core:datastore[datastore]:::android-library - :core:datastore-proto[datastore-proto]:::android-library + :core:datastore-proto[datastore-proto]:::jvm-library :core:datastore-test[datastore-test]:::android-library :core:model[model]:::jvm-library end diff --git a/core/datastore/README.md b/core/datastore/README.md index 744f60f43..752be7c38 100644 --- a/core/datastore/README.md +++ b/core/datastore/README.md @@ -15,7 +15,7 @@ graph TB direction TB :core:common[common]:::jvm-library :core:datastore[datastore]:::android-library - :core:datastore-proto[datastore-proto]:::android-library + :core:datastore-proto[datastore-proto]:::jvm-library :core:model[model]:::jvm-library end diff --git a/core/domain/README.md b/core/domain/README.md index b23877337..742246fd7 100644 --- a/core/domain/README.md +++ b/core/domain/README.md @@ -18,7 +18,7 @@ graph TB :core:data[data]:::android-library :core:database[database]:::android-library :core:datastore[datastore]:::android-library - :core:datastore-proto[datastore-proto]:::android-library + :core:datastore-proto[datastore-proto]:::jvm-library :core:domain[domain]:::android-library :core:model[model]:::jvm-library :core:network[network]:::android-library diff --git a/core/testing/README.md b/core/testing/README.md index d5925b1a5..06dea09e7 100644 --- a/core/testing/README.md +++ b/core/testing/README.md @@ -18,7 +18,7 @@ graph TB :core:data[data]:::android-library :core:database[database]:::android-library :core:datastore[datastore]:::android-library - :core:datastore-proto[datastore-proto]:::android-library + :core:datastore-proto[datastore-proto]:::jvm-library :core:model[model]:::jvm-library :core:network[network]:::android-library :core:notifications[notifications]:::android-library diff --git a/feature/bookmarks/impl/README.md b/feature/bookmarks/impl/README.md index 123a842f6..3b98afadd 100644 --- a/feature/bookmarks/impl/README.md +++ b/feature/bookmarks/impl/README.md @@ -30,7 +30,7 @@ graph TB :core:data[data]:::android-library :core:database[database]:::android-library :core:datastore[datastore]:::android-library - :core:datastore-proto[datastore-proto]:::android-library + :core:datastore-proto[datastore-proto]:::jvm-library :core:designsystem[designsystem]:::android-library :core:model[model]:::jvm-library :core:navigation[navigation]:::android-library diff --git a/feature/foryou/impl/README.md b/feature/foryou/impl/README.md index 8c12460f4..85d7b30d9 100644 --- a/feature/foryou/impl/README.md +++ b/feature/foryou/impl/README.md @@ -30,7 +30,7 @@ graph TB :core:data[data]:::android-library :core:database[database]:::android-library :core:datastore[datastore]:::android-library - :core:datastore-proto[datastore-proto]:::android-library + :core:datastore-proto[datastore-proto]:::jvm-library :core:designsystem[designsystem]:::android-library :core:domain[domain]:::android-library :core:model[model]:::jvm-library diff --git a/feature/search/api/README.md b/feature/search/api/README.md index a468f649d..866e3f6fc 100644 --- a/feature/search/api/README.md +++ b/feature/search/api/README.md @@ -25,7 +25,7 @@ graph TB :core:data[data]:::android-library :core:database[database]:::android-library :core:datastore[datastore]:::android-library - :core:datastore-proto[datastore-proto]:::android-library + :core:datastore-proto[datastore-proto]:::jvm-library :core:domain[domain]:::android-library :core:model[model]:::jvm-library :core:navigation[navigation]:::android-library diff --git a/feature/search/impl/README.md b/feature/search/impl/README.md index 04800005c..4d0852ec4 100644 --- a/feature/search/impl/README.md +++ b/feature/search/impl/README.md @@ -34,7 +34,7 @@ graph TB :core:data[data]:::android-library :core:database[database]:::android-library :core:datastore[datastore]:::android-library - :core:datastore-proto[datastore-proto]:::android-library + :core:datastore-proto[datastore-proto]:::jvm-library :core:designsystem[designsystem]:::android-library :core:domain[domain]:::android-library :core:model[model]:::jvm-library diff --git a/feature/settings/impl/README.md b/feature/settings/impl/README.md index 88aadd960..1b8e0754f 100644 --- a/feature/settings/impl/README.md +++ b/feature/settings/impl/README.md @@ -25,7 +25,7 @@ graph TB :core:data[data]:::android-library :core:database[database]:::android-library :core:datastore[datastore]:::android-library - :core:datastore-proto[datastore-proto]:::android-library + :core:datastore-proto[datastore-proto]:::jvm-library :core:designsystem[designsystem]:::android-library :core:model[model]:::jvm-library :core:network[network]:::android-library diff --git a/gradle.properties b/gradle.properties index 2ad031065..2e9d9fc30 100644 --- a/gradle.properties +++ b/gradle.properties @@ -63,7 +63,3 @@ roborazzi.test.verify=true # Prevent uninstall app after instrumented tests # https://issuetracker.google.com/issues/295039976 android.injected.androidTest.leaveApksInstalledAfterRun=true - -# Blockers: -# - https://github.com/google/protobuf-gradle-plugin/issues/787 -android.newDsl=false diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index c98b1b454..f6dd9379d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -53,7 +53,7 @@ kotlinxSerializationJson = "1.8.0" ksp = "2.3.4" okhttp = "4.12.0" protobuf = "4.29.2" -protobufPlugin = "0.9.5" +protobufPlugin = "0.9.6" retrofit = "2.11.0" retrofitKotlinxSerializationJson = "1.0.0" robolectric = "4.16" diff --git a/sync/sync-test/README.md b/sync/sync-test/README.md index 601724ef7..2a01cb9c6 100644 --- a/sync/sync-test/README.md +++ b/sync/sync-test/README.md @@ -23,7 +23,7 @@ graph TB :core:data[data]:::android-library :core:database[database]:::android-library :core:datastore[datastore]:::android-library - :core:datastore-proto[datastore-proto]:::android-library + :core:datastore-proto[datastore-proto]:::jvm-library :core:model[model]:::jvm-library :core:network[network]:::android-library :core:notifications[notifications]:::android-library diff --git a/sync/work/README.md b/sync/work/README.md index fab74f33c..f73de371c 100644 --- a/sync/work/README.md +++ b/sync/work/README.md @@ -22,7 +22,7 @@ graph TB :core:data[data]:::android-library :core:database[database]:::android-library :core:datastore[datastore]:::android-library - :core:datastore-proto[datastore-proto]:::android-library + :core:datastore-proto[datastore-proto]:::jvm-library :core:model[model]:::jvm-library :core:network[network]:::android-library :core:notifications[notifications]:::android-library From 5ba16edde991ab39bec27283a85072b5d3750be8 Mon Sep 17 00:00:00 2001 From: Aurimas Date: Fri, 30 Jan 2026 09:17:35 -0800 Subject: [PATCH 05/11] Apply spotless by default (#2055) * Apply spotless by default - Upgrades to spotless 8.2.1 - Moves spotless setup from an init.gradle.kts to build-logic - Narrows down the scope of `target` in spotless configuration to be more precise to workaround https://github.com/diffplug/spotless/issues/2717 - Updates all references to init.gradle.kts Ran gradle-profiler ./gradlew build --dry-run to validate performance impact. Before PR: Mean 10,527.96 ms with 289.01 ms std dev After PR: Mean 11,251.78 ms with 530.29 ms std dev Regression is there, but quite minor. Test: ./gradlew spotlessCheck * Address comments from AI overlords * Fix usage of rootProject * Enable spotless for build-logic via root project --- .github/pull_request_template.md | 2 +- .github/workflows/Build.yaml | 2 +- .run/spotlessApply.run.xml | 1 - AGENTS.md | 2 +- app-nia-catalog/src/main/AndroidManifest.xml | 2 +- .../res/mipmap-anydpi-v26/ic_launcher.xml | 2 +- .../mipmap-anydpi-v26/ic_launcher_round.xml | 2 +- .../src/main/res/values/strings.xml | 2 +- .../src/main/res/values/themes.xml | 2 +- .../res/mipmap-anydpi-v26/ic_launcher.xml | 2 +- .../mipmap-anydpi-v26/ic_launcher_round.xml | 2 +- app/src/prod/AndroidManifest.xml | 2 +- build-logic/convention/build.gradle.kts | 1 + ...droidApplicationComposeConventionPlugin.kt | 18 ++--- .../AndroidApplicationConventionPlugin.kt | 20 ++--- ...roidApplicationFirebaseConventionPlugin.kt | 20 ++--- ...droidApplicationFlavorsConventionPlugin.kt | 20 ++--- ...ndroidApplicationJacocoConventionPlugin.kt | 18 ++--- .../AndroidFeatureApiConventionPlugin.kt | 19 +++-- .../AndroidFeatureImplConventionPlugin.kt | 18 ++--- .../AndroidLibraryComposeConventionPlugin.kt | 18 ++--- .../kotlin/AndroidLibraryConventionPlugin.kt | 20 ++--- .../AndroidLibraryJacocoConventionPlugin.kt | 18 ++--- .../kotlin/AndroidLintConventionPlugin.kt | 18 ++--- .../kotlin/AndroidRoomConventionPlugin.kt | 18 ++--- .../kotlin/AndroidTestConventionPlugin.kt | 18 ++--- .../src/main/kotlin/HiltConventionPlugin.kt | 18 ++--- .../main/kotlin/JvmLibraryConventionPlugin.kt | 20 ++--- .../convention/src/main/kotlin/RootPlugin.kt | 2 + .../nowinandroid/AndroidInstrumentedTests.kt | 22 ++--- .../samples/apps/nowinandroid/Badging.kt | 20 +++-- .../apps/nowinandroid/GradleManagedDevices.kt | 19 +++-- .../samples/apps/nowinandroid/Jacoco.kt | 6 +- .../apps/nowinandroid/KotlinAndroid.kt | 2 +- .../samples/apps/nowinandroid/NiaBuildType.kt | 18 ++--- .../samples/apps/nowinandroid/NiaFlavor.kt | 18 ++++- .../apps/nowinandroid/PrintTestApks.kt | 25 +++--- .../apps/nowinandroid/ProjectExtensions.kt | 18 ++--- .../samples/apps/nowinandroid/Spotless.kt | 80 +++++++++++++++++++ build.gradle.kts | 1 + core/analytics/src/main/AndroidManifest.xml | 2 +- core/common/build.gradle.kts | 2 +- core/data/src/main/AndroidManifest.xml | 2 +- core/database/src/main/AndroidManifest.xml | 2 +- .../src/main/AndroidManifest.xml | 2 +- core/datastore/src/main/AndroidManifest.xml | 2 +- .../designsystem/src/main/AndroidManifest.xml | 2 +- core/domain/build.gradle.kts | 2 +- core/domain/src/main/AndroidManifest.xml | 2 +- core/network/src/main/AndroidManifest.xml | 2 +- ...core_notifications_ic_nia_notification.xml | 2 +- .../src/main/AndroidManifest.xml | 2 +- core/testing/src/main/AndroidManifest.xml | 2 +- core/ui/src/main/AndroidManifest.xml | 2 +- feature/bookmarks/api/build.gradle.kts | 2 +- .../impl/src/main/AndroidManifest.xml | 2 +- .../foryou/api/src/main/AndroidManifest.xml | 2 +- .../api/src/main/res/values/strings.xml | 2 +- feature/foryou/impl/build.gradle.kts | 2 +- feature/interests/api/build.gradle.kts | 2 +- .../api/src/main/AndroidManifest.xml | 2 +- ...re_interests_api_ic_detail_placeholder.xml | 2 +- feature/search/api/build.gradle.kts | 1 - feature/search/impl/build.gradle.kts | 2 +- feature/topic/api/build.gradle.kts | 2 +- feature/topic/impl/build.gradle.kts | 2 +- gradle/init.gradle.kts | 59 -------------- gradle/libs.versions.toml | 4 + tools/pre-push | 2 +- .../src/main/AndroidManifest.xml | 2 +- 70 files changed, 349 insertions(+), 305 deletions(-) create mode 100644 build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/Spotless.kt delete mode 100644 gradle/init.gradle.kts diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 265ff2ba5..efe4ef29a 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -10,7 +10,7 @@ Thanks for submitting a pull request. To accept your pull request we need you do **Ensure tests pass and code is formatted correctly** - Run local tests on the `DemoDebug` variant by running `./gradlew testDemoDebug` -- Fix code formatting: `./gradlew --init-script gradle/init.gradle.kts spotlessApply` +- Fix code formatting: `./gradlew spotlessApply` **Add a description** diff --git a/.github/workflows/Build.yaml b/.github/workflows/Build.yaml index 7e5a80eea..eec554b37 100644 --- a/.github/workflows/Build.yaml +++ b/.github/workflows/Build.yaml @@ -48,7 +48,7 @@ jobs: run: ./gradlew :build-logic:convention:check - name: Check spotless - run: ./gradlew spotlessCheck --init-script gradle/init.gradle.kts --no-configuration-cache + run: ./gradlew spotlessCheck - name: Check Dependency Guard id: dependencyguard_verify diff --git a/.run/spotlessApply.run.xml b/.run/spotlessApply.run.xml index 5c4dac833..03bd19a6d 100644 --- a/.run/spotlessApply.run.xml +++ b/.run/spotlessApply.run.xml @@ -4,7 +4,6 @@ diff --git a/AGENTS.md b/AGENTS.md index efb39ef19..edcfd396e 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -26,7 +26,7 @@ The main Android app lives in the `app/` folder. Feature modules live in `featur The app and Android libraries have two product flavors: `demo` and `prod`, and two build types: `debug` and `release`. - Build: `./gradlew assemble{Variant}`. Typically `assembleDemoDebug`. -- Fix linting/formatting: `./gradlew --init-script gradle/init.gradle.kts spotlessApply` +- Fix linting/formatting: `./gradlew spotlessApply` - Run local tests: `./gradlew {variant}Test` - Run single test: `./gradlew {variant}Test --tests "com.example.myapp.MyTestClass"` - Run local screenshot tests: `./gradlew verifyRoborazziDemoDebug` diff --git a/app-nia-catalog/src/main/AndroidManifest.xml b/app-nia-catalog/src/main/AndroidManifest.xml index 90341aac1..57286c5f1 100644 --- a/app-nia-catalog/src/main/AndroidManifest.xml +++ b/app-nia-catalog/src/main/AndroidManifest.xml @@ -36,4 +36,4 @@ - \ No newline at end of file + diff --git a/app-nia-catalog/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app-nia-catalog/src/main/res/mipmap-anydpi-v26/ic_launcher.xml index 28878a729..9572fa6cb 100644 --- a/app-nia-catalog/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +++ b/app-nia-catalog/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -18,4 +18,4 @@ - \ No newline at end of file + diff --git a/app-nia-catalog/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app-nia-catalog/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml index 28878a729..9572fa6cb 100644 --- a/app-nia-catalog/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +++ b/app-nia-catalog/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -18,4 +18,4 @@ - \ No newline at end of file + diff --git a/app-nia-catalog/src/main/res/values/strings.xml b/app-nia-catalog/src/main/res/values/strings.xml index 69a3e1b11..0d92aba29 100644 --- a/app-nia-catalog/src/main/res/values/strings.xml +++ b/app-nia-catalog/src/main/res/values/strings.xml @@ -16,4 +16,4 @@ --> NiA Catalog - \ No newline at end of file + diff --git a/app-nia-catalog/src/main/res/values/themes.xml b/app-nia-catalog/src/main/res/values/themes.xml index 9aeeb83a6..afcbaf5fc 100644 --- a/app-nia-catalog/src/main/res/values/themes.xml +++ b/app-nia-catalog/src/main/res/values/themes.xml @@ -16,4 +16,4 @@ -->