diff --git a/app/build.gradle.kts b/app/build.gradle.kts index b682bcb29..c8c590be8 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -77,19 +77,7 @@ kotlin { sourceSets { commonMain.dependencies { - implementation(projects.feature.interests) - implementation(projects.feature.foryou) - implementation(projects.feature.bookmarks) - implementation(projects.feature.topic) - implementation(projects.feature.search) - implementation(projects.feature.settings) - implementation(projects.core.common) - implementation(projects.core.ui) - implementation(projects.core.designsystem) - implementation(projects.core.data) - implementation(projects.core.model) - implementation(projects.core.analytics) - implementation(projects.core.notifications) + implementation(projects.shared) implementation(compose.runtime) implementation(compose.foundation) implementation(compose.material) diff --git a/app/src/commonMain/kotlin/com/google/samples/apps/nowinandroid/navigation/TopLevelDestination.kt b/app/src/commonMain/kotlin/com/google/samples/apps/nowinandroid/navigation/TopLevelDestination.kt index 00def0b5b..0fa3e2eae 100644 --- a/app/src/commonMain/kotlin/com/google/samples/apps/nowinandroid/navigation/TopLevelDestination.kt +++ b/app/src/commonMain/kotlin/com/google/samples/apps/nowinandroid/navigation/TopLevelDestination.kt @@ -21,8 +21,8 @@ import com.google.samples.apps.nowinandroid.core.designsystem.icon.NiaIcons import com.google.samples.apps.nowinandroid.feature.bookmarks.navigation.BookmarksRoute import com.google.samples.apps.nowinandroid.feature.foryou.navigation.ForYouRoute import com.google.samples.apps.nowinandroid.feature.interests.navigation.InterestsRoute -import nowinandroid.app.generated.resources.Res -import nowinandroid.app.generated.resources.app_name +import nowinandroid.shared.generated.resources.Res +import nowinandroid.shared.generated.resources.app_name import nowinandroid.feature.bookmarks.generated.resources.feature_bookmarks_title import nowinandroid.feature.foryou.generated.resources.feature_foryou_title import nowinandroid.feature.search.generated.resources.feature_search_interests diff --git a/app/src/commonMain/kotlin/com/google/samples/apps/nowinandroid/ui/NiaApp.kt b/app/src/commonMain/kotlin/com/google/samples/apps/nowinandroid/ui/NiaApp.kt index 8a81c51ea..80781b232 100644 --- a/app/src/commonMain/kotlin/com/google/samples/apps/nowinandroid/ui/NiaApp.kt +++ b/app/src/commonMain/kotlin/com/google/samples/apps/nowinandroid/ui/NiaApp.kt @@ -69,8 +69,8 @@ import com.google.samples.apps.nowinandroid.core.designsystem.theme.LocalGradien import com.google.samples.apps.nowinandroid.feature.settings.SettingsDialog import com.google.samples.apps.nowinandroid.navigation.NiaNavHost import com.google.samples.apps.nowinandroid.navigation.TopLevelDestination -import nowinandroid.app.generated.resources.Res -import nowinandroid.app.generated.resources.not_connected +import nowinandroid.shared.generated.resources.Res +import nowinandroid.shared.generated.resources.not_connected import nowinandroid.feature.settings.generated.resources.feature_settings_top_app_bar_action_icon_description import nowinandroid.feature.settings.generated.resources.feature_settings_top_app_bar_navigation_icon_description import org.jetbrains.compose.resources.stringResource @@ -167,7 +167,8 @@ internal fun NiaApp( contentDescription = null, ) }, - label = { Text(stringResource(destination.iconTextId)) }, + // TODO Error: Invalid symbol '??'(0) +// label = { Text(stringResource(destination.iconTextId)) }, modifier = Modifier .testTag("NiaNavItem") diff --git a/settings.gradle.kts b/settings.gradle.kts index e7b6d8b06..9152c461b 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -62,6 +62,7 @@ include(":feature:topic") include(":feature:search") include(":feature:settings") include(":lint") +include(":shared") include(":sync:work") include(":sync:sync-test") include(":ui-test-hilt-manifest") diff --git a/shared/build.gradle.kts b/shared/build.gradle.kts new file mode 100644 index 000000000..0eb5d1bba --- /dev/null +++ b/shared/build.gradle.kts @@ -0,0 +1,52 @@ +/* + * Copyright 2024 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.cmp.feature) +} + +android { + namespace = "com.google.samples.apps.nowinandroid.shared" +} + +kotlin { + sourceSets { + commonMain.dependencies { + api(projects.feature.interests) + api(projects.feature.foryou) + api(projects.feature.bookmarks) + api(projects.feature.topic) + api(projects.feature.search) + api(projects.feature.settings) + api(projects.core.common) + api(projects.core.ui) + api(projects.core.designsystem) + api(projects.core.data) + api(projects.core.model) + api(projects.core.analytics) + api(projects.core.notifications) + api(compose.components.resources) + } + commonTest.dependencies { + implementation(projects.core.testing) + } + } +} + +compose.resources { + publicResClass = true + generateResClass = always +} diff --git a/app/src/commonMain/composeResources/values/strings.xml b/shared/src/commonMain/composeResources/values/strings.xml similarity index 100% rename from app/src/commonMain/composeResources/values/strings.xml rename to shared/src/commonMain/composeResources/values/strings.xml