diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 9434cea48..217544884 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -85,7 +85,7 @@ dependencies { implementation(projects.core.data) implementation(projects.core.model) implementation(projects.core.analytics) - implementation(projects.sync.work) + implementation(projects.sync) implementation(libs.androidx.activity.compose) implementation(libs.androidx.compose.material3.adaptive) @@ -112,11 +112,11 @@ dependencies { kspTest(libs.hilt.compiler) testImplementation(projects.core.testing) - testImplementation(projects.sync.syncTest) testImplementation(libs.androidx.compose.ui.test) testImplementation(libs.androidx.work.testing) testImplementation(libs.hilt.android.testing) testImplementation(testFixtures(projects.core.data)) + testImplementation(testFixtures(projects.sync)) testDemoImplementation(libs.robolectric) testDemoImplementation(libs.roborazzi) diff --git a/docs/images/graphs/dep_graph_sync_sync_test.svg b/docs/images/graphs/dep_graph_sync_sync_test.svg deleted file mode 100644 index 58a31af19..000000000 --- a/docs/images/graphs/dep_graph_sync_sync_test.svg +++ /dev/null @@ -1,153 +0,0 @@ - - - - - G - - - :sync:sync-test - - :sync:sync-test - - - :core:data - - :core:data - - - :sync:sync-test->:core:data - - - - - :sync:work - - :sync:work - - - :sync:sync-test->:sync:work - - - - - :core:common - - :core:common - - - :core:data->:core:common - - - - - :core:database - - :core:database - - - :core:data->:core:database - - - - - :core:datastore - - :core:datastore - - - :core:data->:core:datastore - - - - - :core:network - - :core:network - - - :core:data->:core:network - - - - - :core:analytics - - :core:analytics - - - :core:data->:core:analytics - - - - - :core:notifications - - :core:notifications - - - :core:data->:core:notifications - - - - - :sync:work->:core:data - - - - - :sync:work->:core:analytics - - - - - :core:model - - :core:model - - - :core:database->:core:model - - - - - :core:datastore->:core:common - - - - - :core:datastore->:core:model - - - - - :core:datastore-proto - - :core:datastore-proto - - - :core:datastore->:core:datastore-proto - - - - - :core:network->:core:common - - - - - :core:network->:core:model - - - - - :core:notifications->:core:common - - - - - :core:notifications->:core:model - - - - - diff --git a/docs/images/graphs/dep_graph_sync_work.svg b/docs/images/graphs/dep_graph_sync_work.svg deleted file mode 100644 index 2581a10ae..000000000 --- a/docs/images/graphs/dep_graph_sync_work.svg +++ /dev/null @@ -1,138 +0,0 @@ - - - - - G - - - :sync:work - - :sync:work - - - :core:analytics - - :core:analytics - - - :sync:work->:core:analytics - - - - - :core:data - - :core:data - - - :sync:work->:core:data - - - - - :core:data->:core:analytics - - - - - :core:common - - :core:common - - - :core:data->:core:common - - - - - :core:database - - :core:database - - - :core:data->:core:database - - - - - :core:datastore - - :core:datastore - - - :core:data->:core:datastore - - - - - :core:network - - :core:network - - - :core:data->:core:network - - - - - :core:notifications - - :core:notifications - - - :core:data->:core:notifications - - - - - :core:model - - :core:model - - - :core:database->:core:model - - - - - :core:datastore->:core:common - - - - - :core:datastore->:core:model - - - - - :core:datastore-proto - - :core:datastore-proto - - - :core:datastore->:core:datastore-proto - - - - - :core:network->:core:common - - - - - :core:network->:core:model - - - - - :core:notifications->:core:common - - - - - :core:notifications->:core:model - - - - - diff --git a/settings.gradle.kts b/settings.gradle.kts index b1d8e505f..29d51c90f 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -59,7 +59,6 @@ include(":feature:topic") include(":feature:search") include(":feature:settings") include(":lint") -include(":sync:work") -include(":sync:sync-test") +include(":sync") include(":ui-test-hilt-manifest") diff --git a/sync/sync-test/.gitignore b/sync/.gitignore similarity index 100% rename from sync/sync-test/.gitignore rename to sync/.gitignore diff --git a/sync/work/README.md b/sync/README.md similarity index 100% rename from sync/work/README.md rename to sync/README.md diff --git a/sync/work/build.gradle.kts b/sync/build.gradle.kts similarity index 89% rename from sync/work/build.gradle.kts rename to sync/build.gradle.kts index 7e61c7389..053a0ec9a 100644 --- a/sync/work/build.gradle.kts +++ b/sync/build.gradle.kts @@ -23,6 +23,7 @@ android { defaultConfig { testInstrumentationRunner = "com.google.samples.apps.nowinandroid.core.testing.NiaTestRunner" } + testFixtures.enable = true namespace = "com.google.samples.apps.nowinandroid.sync" } @@ -42,4 +43,8 @@ dependencies { androidTestImplementation(libs.hilt.android.testing) androidTestImplementation(libs.kotlinx.coroutines.guava) androidTestImplementation(projects.core.testing) + + kspTestFixtures(libs.hilt.compiler) + testFixturesImplementation(libs.hilt.android.testing) + testFixturesImplementation(projects.core.data) } diff --git a/sync/work/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/sync/workers/SyncWorkerTest.kt b/sync/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/sync/workers/SyncWorkerTest.kt similarity index 92% rename from sync/work/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/sync/workers/SyncWorkerTest.kt rename to sync/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/sync/workers/SyncWorkerTest.kt index 9c9d13510..ad0a29469 100644 --- a/sync/work/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/sync/workers/SyncWorkerTest.kt +++ b/sync/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/sync/workers/SyncWorkerTest.kt @@ -23,11 +23,13 @@ import androidx.work.WorkInfo import androidx.work.WorkManager import androidx.work.testing.SynchronousExecutor import androidx.work.testing.WorkManagerTestInitHelper +import dagger.hilt.android.testing.BindValue import dagger.hilt.android.testing.HiltAndroidRule import dagger.hilt.android.testing.HiltAndroidTest import org.junit.Before import org.junit.Rule import org.junit.Test +import org.junit.rules.TemporaryFolder import kotlin.test.assertEquals @HiltAndroidTest @@ -36,6 +38,10 @@ class SyncWorkerTest { @get:Rule(order = 0) val hiltRule = HiltAndroidRule(this) + @BindValue + @get:Rule(order = 1) + val tmpFolder: TemporaryFolder = TemporaryFolder.builder().assureDeletion().build() + private val context get() = InstrumentationRegistry.getInstrumentation().context @Before diff --git a/sync/work/src/demo/kotlin/com/google/samples/apps/nowinandroid/sync/di/SyncModule.kt b/sync/src/demo/kotlin/com/google/samples/apps/nowinandroid/sync/di/SyncModule.kt similarity index 100% rename from sync/work/src/demo/kotlin/com/google/samples/apps/nowinandroid/sync/di/SyncModule.kt rename to sync/src/demo/kotlin/com/google/samples/apps/nowinandroid/sync/di/SyncModule.kt diff --git a/sync/work/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/initializers/SyncInitializer.kt b/sync/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/initializers/SyncInitializer.kt similarity index 100% rename from sync/work/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/initializers/SyncInitializer.kt rename to sync/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/initializers/SyncInitializer.kt diff --git a/sync/work/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/initializers/SyncWorkHelpers.kt b/sync/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/initializers/SyncWorkHelpers.kt similarity index 100% rename from sync/work/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/initializers/SyncWorkHelpers.kt rename to sync/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/initializers/SyncWorkHelpers.kt diff --git a/sync/work/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/status/StubSyncSubscriber.kt b/sync/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/status/StubSyncSubscriber.kt similarity index 100% rename from sync/work/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/status/StubSyncSubscriber.kt rename to sync/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/status/StubSyncSubscriber.kt diff --git a/sync/work/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/status/SyncSubscriber.kt b/sync/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/status/SyncSubscriber.kt similarity index 100% rename from sync/work/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/status/SyncSubscriber.kt rename to sync/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/status/SyncSubscriber.kt diff --git a/sync/work/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/status/WorkManagerSyncManager.kt b/sync/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/status/WorkManagerSyncManager.kt similarity index 100% rename from sync/work/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/status/WorkManagerSyncManager.kt rename to sync/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/status/WorkManagerSyncManager.kt diff --git a/sync/work/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/workers/AnalyticsExtensions.kt b/sync/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/workers/AnalyticsExtensions.kt similarity index 100% rename from sync/work/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/workers/AnalyticsExtensions.kt rename to sync/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/workers/AnalyticsExtensions.kt diff --git a/sync/work/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/workers/DelegatingWorker.kt b/sync/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/workers/DelegatingWorker.kt similarity index 100% rename from sync/work/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/workers/DelegatingWorker.kt rename to sync/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/workers/DelegatingWorker.kt diff --git a/sync/work/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/workers/SyncWorker.kt b/sync/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/workers/SyncWorker.kt similarity index 100% rename from sync/work/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/workers/SyncWorker.kt rename to sync/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/workers/SyncWorker.kt diff --git a/sync/work/src/main/res/values/strings.xml b/sync/src/main/res/values/strings.xml similarity index 100% rename from sync/work/src/main/res/values/strings.xml rename to sync/src/main/res/values/strings.xml diff --git a/sync/work/src/prod/AndroidManifest.xml b/sync/src/prod/AndroidManifest.xml similarity index 100% rename from sync/work/src/prod/AndroidManifest.xml rename to sync/src/prod/AndroidManifest.xml diff --git a/sync/work/src/prod/kotlin/com/google/samples/apps/nowinandroid/sync/di/SyncModule.kt b/sync/src/prod/kotlin/com/google/samples/apps/nowinandroid/sync/di/SyncModule.kt similarity index 100% rename from sync/work/src/prod/kotlin/com/google/samples/apps/nowinandroid/sync/di/SyncModule.kt rename to sync/src/prod/kotlin/com/google/samples/apps/nowinandroid/sync/di/SyncModule.kt diff --git a/sync/work/src/prod/kotlin/com/google/samples/apps/nowinandroid/sync/services/SyncNotificationsService.kt b/sync/src/prod/kotlin/com/google/samples/apps/nowinandroid/sync/services/SyncNotificationsService.kt similarity index 100% rename from sync/work/src/prod/kotlin/com/google/samples/apps/nowinandroid/sync/services/SyncNotificationsService.kt rename to sync/src/prod/kotlin/com/google/samples/apps/nowinandroid/sync/services/SyncNotificationsService.kt diff --git a/sync/work/src/prod/kotlin/com/google/samples/apps/nowinandroid/sync/status/FirebaseSyncSubscriber.kt b/sync/src/prod/kotlin/com/google/samples/apps/nowinandroid/sync/status/FirebaseSyncSubscriber.kt similarity index 100% rename from sync/work/src/prod/kotlin/com/google/samples/apps/nowinandroid/sync/status/FirebaseSyncSubscriber.kt rename to sync/src/prod/kotlin/com/google/samples/apps/nowinandroid/sync/status/FirebaseSyncSubscriber.kt diff --git a/sync/sync-test/src/main/kotlin/com/google/samples/apps/nowinandroid/core/sync/test/TestSyncModule.kt b/sync/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/sync/di/TestSyncModule.kt similarity index 81% rename from sync/sync-test/src/main/kotlin/com/google/samples/apps/nowinandroid/core/sync/test/TestSyncModule.kt rename to sync/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/sync/di/TestSyncModule.kt index ceca1cb5c..397844d5a 100644 --- a/sync/sync-test/src/main/kotlin/com/google/samples/apps/nowinandroid/core/sync/test/TestSyncModule.kt +++ b/sync/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/sync/di/TestSyncModule.kt @@ -14,10 +14,11 @@ * limitations under the License. */ -package com.google.samples.apps.nowinandroid.core.sync.test +package com.google.samples.apps.nowinandroid.core.sync.di import com.google.samples.apps.nowinandroid.core.data.util.SyncManager import com.google.samples.apps.nowinandroid.sync.di.SyncModule +import com.google.samples.apps.nowinandroid.sync.status.NeverSyncingSyncManager import com.google.samples.apps.nowinandroid.sync.status.StubSyncSubscriber import com.google.samples.apps.nowinandroid.sync.status.SyncSubscriber import dagger.Binds @@ -32,12 +33,8 @@ import dagger.hilt.testing.TestInstallIn ) internal interface TestSyncModule { @Binds - fun bindsSyncStatusMonitor( - syncStatusMonitor: NeverSyncingSyncManager, - ): SyncManager + fun bindsSyncManager(it: NeverSyncingSyncManager): SyncManager @Binds - fun bindsSyncSubscriber( - syncSubscriber: StubSyncSubscriber, - ): SyncSubscriber + fun bindsSyncSubscriber(it: StubSyncSubscriber): SyncSubscriber } diff --git a/sync/sync-test/src/main/kotlin/com/google/samples/apps/nowinandroid/core/sync/test/NeverSyncingSyncManager.kt b/sync/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/sync/status/NeverSyncingSyncManager.kt similarity index 94% rename from sync/sync-test/src/main/kotlin/com/google/samples/apps/nowinandroid/core/sync/test/NeverSyncingSyncManager.kt rename to sync/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/sync/status/NeverSyncingSyncManager.kt index c13b409e6..da44a635d 100644 --- a/sync/sync-test/src/main/kotlin/com/google/samples/apps/nowinandroid/core/sync/test/NeverSyncingSyncManager.kt +++ b/sync/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/sync/status/NeverSyncingSyncManager.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.google.samples.apps.nowinandroid.core.sync.test +package com.google.samples.apps.nowinandroid.sync.status import com.google.samples.apps.nowinandroid.core.data.util.SyncManager import kotlinx.coroutines.flow.Flow diff --git a/sync/sync-test/README.md b/sync/sync-test/README.md deleted file mode 100644 index 78876290f..000000000 --- a/sync/sync-test/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# :sync:sync-test module -## Dependency graph -![Dependency graph](../../docs/images/graphs/dep_graph_sync_sync_test.svg) diff --git a/sync/sync-test/build.gradle.kts b/sync/sync-test/build.gradle.kts deleted file mode 100644 index 0fac2cf83..000000000 --- a/sync/sync-test/build.gradle.kts +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright 2022 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. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -plugins { - alias(libs.plugins.nowinandroid.android.library) - alias(libs.plugins.nowinandroid.android.hilt) -} - -android { - namespace = "com.google.samples.apps.nowinandroid.core.sync.test" -} - -dependencies { - implementation(libs.hilt.android.testing) - implementation(projects.core.data) - implementation(projects.sync.work) -} diff --git a/sync/sync-test/src/main/AndroidManifest.xml b/sync/sync-test/src/main/AndroidManifest.xml deleted file mode 100644 index 27a3ea8b0..000000000 --- a/sync/sync-test/src/main/AndroidManifest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - diff --git a/sync/work/.gitignore b/sync/work/.gitignore deleted file mode 100644 index 42afabfd2..000000000 --- a/sync/work/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build \ No newline at end of file