From 565f9b13987392a0d0abf3c516768f5c7f41985d Mon Sep 17 00:00:00 2001 From: "Luong Vo (Lucas)" Date: Tue, 31 Oct 2023 21:58:31 +0700 Subject: [PATCH 01/25] [#30] Switch the android submodule to develop-koin branch --- .gitmodules | 2 +- android | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index 8b88b8ad..b0c47177 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,4 +4,4 @@ [submodule "android"] path = android url = git@github.com:nimblehq/android-templates.git - branch = feature/replace-hilt-with-koin + branch = develop-koin diff --git a/android b/android index 5cb0ea45..7f0a2f60 160000 --- a/android +++ b/android @@ -1 +1 @@ -Subproject commit 5cb0ea459a57f9363406c5dddc1de0800c5e43e4 +Subproject commit 7f0a2f60cb4613639f5f4e4c0bdb9ba52cd21ed6 From 4d1848f7de0d0460e16500a1b313f71eef0efb05 Mon Sep 17 00:00:00 2001 From: "Luong Vo (Lucas)" Date: Tue, 31 Oct 2023 22:35:00 +0700 Subject: [PATCH 02/25] [#30] Fix: generate the Android app module with the entered bundle id --- .github/workflows/test.yml | 2 +- make_android.sh | 19 +++++++++++-------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a48526cc..31532cc4 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -47,7 +47,7 @@ jobs: run: rm -rf sample - name: Generate the new sample project - run: ./make.sh --bundle-id co.nimblehq.kmm.template --bundle-id-staging co.nimblehq.kmm.template.staging --project-name sample --ios-version 14.0 + run: ./make.sh --bundle-id co.nimblehq.kmm.sample --bundle-id-staging co.nimblehq.kmm.sample.staging --project-name sample --ios-version 14.0 - name: Restore the previous ArkanaKeys's keys run: | diff --git a/make_android.sh b/make_android.sh index e809a079..2516e350 100644 --- a/make_android.sh +++ b/make_android.sh @@ -33,25 +33,28 @@ sed -i '' "/ buildProjectAndRunTests()*/d" scripts/new_project.kts kscript scripts/new_project.kts package-name=${bundle_id} app-name=${project_name} template=compose +# Convert bundle_id with dot to packake folder path, e.g., co.nimblehq.kmm.template -> co/nimblehq/kmm/template +package_path="${bundle_id//.//}" + # Correct dependencies sed -i '' 's/Modules.DATA/Modules.SHARED/' sample/app/build.gradle.kts sed -i '' "/implementation(project(Modules.DOMAIN))*/d" sample/app/build.gradle.kts sed -i '' "/kover(project(Modules.DOMAIN))*/d" sample/app/build.gradle.kts # Correct imports -sed -i '' 's/import co.nimblehq.kmm.template.data.di.initKoin/import co.nimblehq.kmm.template.di.initKoin/' sample/app/src/main/java/co/nimblehq/kmm/template/MainApplication.kt +sed -i '' 's/import '$bundle_id'.data.di.initKoin/import '$bundle_id'.di.initKoin/' sample/app/src/main/java/$package_path/MainApplication.kt # Correct error mapping -sed -i '' 's/is ApiException -> error?.message/is ApiException -> message/' sample/app/src/main/java/co/nimblehq/kmm/template/ui/ErrorMapping.kt +sed -i '' 's/is ApiException -> error?.message/is ApiException -> message/' sample/app/src/main/java/$package_path/ui/ErrorMapping.kt # Remove unnecessary definition of BASE_API_URL sed -i '' "/buildConfigField(\"String\", \"BASE_API_URL\"*/d" sample/app/build.gradle.kts -sed -i '' "/import co.nimblehq.kmm.template.BuildConfig*/d" sample/app/src/main/java/co/nimblehq/kmm/template/di/modules/AppModule.kt -sed -i '' "/import co.nimblehq.kmm.template.data.di.modules.BASE_API_URL*/d" sample/app/src/main/java/co/nimblehq/kmm/template/di/modules/AppModule.kt -sed -i '' "/import org.koin.core.qualifier.named*/d" sample/app/src/main/java/co/nimblehq/kmm/template/di/modules/AppModule.kt -sed -i '' "/ single(named(BASE_API_URL)) {\n*/d" sample/app/src/main/java/co/nimblehq/kmm/template/di/modules/AppModule.kt -sed -i '' "/ BuildConfig.BASE_API_URL\n*/d" sample/app/src/main/java/co/nimblehq/kmm/template/di/modules/AppModule.kt -sed -i '' "/ }\n*/d" sample/app/src/main/java/co/nimblehq/kmm/template/di/modules/AppModule.kt +sed -i '' "/import $bundle_id.BuildConfig*/d" sample/app/src/main/java/$package_path/di/modules/AppModule.kt +sed -i '' "/import $bundle_id.data.di.modules.BASE_API_URL*/d" sample/app/src/main/java/$package_path/di/modules/AppModule.kt +sed -i '' "/import org.koin.core.qualifier.named*/d" sample/app/src/main/java/$package_path/di/modules/AppModule.kt +sed -i '' "/ single(named(BASE_API_URL)) {\n*/d" sample/app/src/main/java/$package_path/di/modules/AppModule.kt +sed -i '' "/ BuildConfig.BASE_API_URL\n*/d" sample/app/src/main/java/$package_path/di/modules/AppModule.kt +sed -i '' "/ }\n*/d" sample/app/src/main/java/$package_path/di/modules/AppModule.kt # Overwrite custom files rsync -av ../custom/android/ sample/app/ From 3c0ea5249efb271344a1b98935a4328f1f984070 Mon Sep 17 00:00:00 2001 From: team-nimblehq Date: Wed, 1 Nov 2023 17:03:37 +0000 Subject: [PATCH 03/25] [Chore] Generate & update sample project --- sample/.github/workflows/test.yml | 2 +- sample/android/build.gradle.kts | 4 +- .../{template => sample}/MainApplication.kt | 8 +- .../di/modules/AppModule.kt | 6 +- .../di/modules/ViewModelModule.kt | 4 +- .../extensions/ContextExt.kt | 2 +- .../extensions/FlowExt.kt | 2 +- .../co/nimblehq/kmm/sample/lib/TypeAlias.kt | 3 + .../{template => sample}/ui/AppDestination.kt | 2 +- .../{template => sample}/ui/AppNavigation.kt | 4 +- .../{template => sample}/ui/ErrorMapping.kt | 8 +- .../ui/base/BaseViewModel.kt | 6 +- .../nimblehq/kmm/sample/ui/models/UiModel.kt | 9 + .../ui/screens/MainActivity.kt | 6 +- .../ui/screens/home/HomeScreen.kt | 16 +- .../ui/screens/home/HomeViewModel.kt | 12 +- .../ui/theme/AppColors.kt | 2 +- .../ui/theme/AppDimensions.kt | 2 +- .../ui/theme/AppShapes.kt | 2 +- .../ui/theme/AppStyles.kt | 2 +- .../ui/theme/AppTypography.kt | 2 +- .../{template => sample}/ui/theme/Theme.kt | 2 +- .../util/DispatchersProvider.kt | 2 +- .../util/DispatchersProviderImpl.kt | 2 +- .../co/nimblehq/kmm/template/lib/TypeAlias.kt | 3 - .../kmm/template/ui/models/UiModel.kt | 9 - .../test/CoroutineTestRule.kt | 4 +- .../kmm/{template => sample}/test/MockUtil.kt | 4 +- .../ui/screens/BaseScreenTest.kt | 4 +- .../ui/screens/home/HomeScreenTest.kt | 16 +- .../ui/screens/home/HomeViewModelTest.kt | 12 +- sample/ios/Gemfile.lock | 2 +- sample/ios/fastlane/Constants/Constant.swift | 4 +- sample/ios/sample.xcodeproj/project.pbxproj | 216 +++++++++--------- .../XCConfigs/DebugProduction.xcconfig | 2 +- .../XCConfigs/DebugStaging.xcconfig | 2 +- .../XCConfigs/ReleaseProduction.xcconfig | 2 +- .../XCConfigs/ReleaseStaging.xcconfig | 2 +- 38 files changed, 196 insertions(+), 196 deletions(-) rename sample/android/src/main/java/co/nimblehq/kmm/{template => sample}/MainApplication.kt (74%) rename sample/android/src/main/java/co/nimblehq/kmm/{template => sample}/di/modules/AppModule.kt (54%) rename sample/android/src/main/java/co/nimblehq/kmm/{template => sample}/di/modules/ViewModelModule.kt (57%) rename sample/android/src/main/java/co/nimblehq/kmm/{template => sample}/extensions/ContextExt.kt (81%) rename sample/android/src/main/java/co/nimblehq/kmm/{template => sample}/extensions/FlowExt.kt (92%) create mode 100644 sample/android/src/main/java/co/nimblehq/kmm/sample/lib/TypeAlias.kt rename sample/android/src/main/java/co/nimblehq/kmm/{template => sample}/ui/AppDestination.kt (88%) rename sample/android/src/main/java/co/nimblehq/kmm/{template => sample}/ui/AppNavigation.kt (92%) rename sample/android/src/main/java/co/nimblehq/kmm/{template => sample}/ui/ErrorMapping.kt (63%) rename sample/android/src/main/java/co/nimblehq/kmm/{template => sample}/ui/base/BaseViewModel.kt (91%) create mode 100644 sample/android/src/main/java/co/nimblehq/kmm/sample/ui/models/UiModel.kt rename sample/android/src/main/java/co/nimblehq/kmm/{template => sample}/ui/screens/MainActivity.kt (71%) rename sample/android/src/main/java/co/nimblehq/kmm/{template => sample}/ui/screens/home/HomeScreen.kt (81%) rename sample/android/src/main/java/co/nimblehq/kmm/{template => sample}/ui/screens/home/HomeViewModel.kt (67%) rename sample/android/src/main/java/co/nimblehq/kmm/{template => sample}/ui/theme/AppColors.kt (93%) rename sample/android/src/main/java/co/nimblehq/kmm/{template => sample}/ui/theme/AppDimensions.kt (86%) rename sample/android/src/main/java/co/nimblehq/kmm/{template => sample}/ui/theme/AppShapes.kt (84%) rename sample/android/src/main/java/co/nimblehq/kmm/{template => sample}/ui/theme/AppStyles.kt (80%) rename sample/android/src/main/java/co/nimblehq/kmm/{template => sample}/ui/theme/AppTypography.kt (85%) rename sample/android/src/main/java/co/nimblehq/kmm/{template => sample}/ui/theme/Theme.kt (97%) rename sample/android/src/main/java/co/nimblehq/kmm/{template => sample}/util/DispatchersProvider.kt (82%) rename sample/android/src/main/java/co/nimblehq/kmm/{template => sample}/util/DispatchersProviderImpl.kt (85%) delete mode 100644 sample/android/src/main/java/co/nimblehq/kmm/template/lib/TypeAlias.kt delete mode 100644 sample/android/src/main/java/co/nimblehq/kmm/template/ui/models/UiModel.kt rename sample/android/src/test/java/co/nimblehq/kmm/{template => sample}/test/CoroutineTestRule.kt (89%) rename sample/android/src/test/java/co/nimblehq/kmm/{template => sample}/test/MockUtil.kt (57%) rename sample/android/src/test/java/co/nimblehq/kmm/{template => sample}/ui/screens/BaseScreenTest.kt (79%) rename sample/android/src/test/java/co/nimblehq/kmm/{template => sample}/ui/screens/home/HomeScreenTest.kt (85%) rename sample/android/src/test/java/co/nimblehq/kmm/{template => sample}/ui/screens/home/HomeViewModelTest.kt (85%) diff --git a/sample/.github/workflows/test.yml b/sample/.github/workflows/test.yml index a48526cc..31532cc4 100644 --- a/sample/.github/workflows/test.yml +++ b/sample/.github/workflows/test.yml @@ -47,7 +47,7 @@ jobs: run: rm -rf sample - name: Generate the new sample project - run: ./make.sh --bundle-id co.nimblehq.kmm.template --bundle-id-staging co.nimblehq.kmm.template.staging --project-name sample --ios-version 14.0 + run: ./make.sh --bundle-id co.nimblehq.kmm.sample --bundle-id-staging co.nimblehq.kmm.sample.staging --project-name sample --ios-version 14.0 - name: Restore the previous ArkanaKeys's keys run: | diff --git a/sample/android/build.gradle.kts b/sample/android/build.gradle.kts index 8b5729ee..e8070286 100644 --- a/sample/android/build.gradle.kts +++ b/sample/android/build.gradle.kts @@ -17,11 +17,11 @@ val getVersionCode: () -> Int = { } android { - namespace = "co.nimblehq.kmm.template" + namespace = "co.nimblehq.kmm.sample" compileSdk = Versions.ANDROID_COMPILE_SDK defaultConfig { - applicationId = "co.nimblehq.kmm.template" + applicationId = "co.nimblehq.kmm.sample" minSdk = Versions.ANDROID_MIN_SDK targetSdk = Versions.ANDROID_TARGET_SDK versionCode = getVersionCode() diff --git a/sample/android/src/main/java/co/nimblehq/kmm/template/MainApplication.kt b/sample/android/src/main/java/co/nimblehq/kmm/sample/MainApplication.kt similarity index 74% rename from sample/android/src/main/java/co/nimblehq/kmm/template/MainApplication.kt rename to sample/android/src/main/java/co/nimblehq/kmm/sample/MainApplication.kt index eb3d4c48..3bb7e810 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/template/MainApplication.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/sample/MainApplication.kt @@ -1,9 +1,9 @@ -package co.nimblehq.kmm.template +package co.nimblehq.kmm.sample import android.app.Application -import co.nimblehq.kmm.template.di.initKoin -import co.nimblehq.kmm.template.di.modules.appModule -import co.nimblehq.kmm.template.di.modules.viewModelModule +import co.nimblehq.kmm.sample.di.initKoin +import co.nimblehq.kmm.sample.di.modules.appModule +import co.nimblehq.kmm.sample.di.modules.viewModelModule import org.koin.android.ext.koin.androidContext import org.koin.android.ext.koin.androidLogger import timber.log.Timber diff --git a/sample/android/src/main/java/co/nimblehq/kmm/template/di/modules/AppModule.kt b/sample/android/src/main/java/co/nimblehq/kmm/sample/di/modules/AppModule.kt similarity index 54% rename from sample/android/src/main/java/co/nimblehq/kmm/template/di/modules/AppModule.kt rename to sample/android/src/main/java/co/nimblehq/kmm/sample/di/modules/AppModule.kt index f7009181..908c9732 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/template/di/modules/AppModule.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/sample/di/modules/AppModule.kt @@ -1,7 +1,7 @@ -package co.nimblehq.kmm.template.di.modules +package co.nimblehq.kmm.sample.di.modules -import co.nimblehq.kmm.template.util.DispatchersProvider -import co.nimblehq.kmm.template.util.DispatchersProviderImpl +import co.nimblehq.kmm.sample.util.DispatchersProvider +import co.nimblehq.kmm.sample.util.DispatchersProviderImpl import org.koin.core.module.dsl.singleOf import org.koin.dsl.bind import org.koin.dsl.module diff --git a/sample/android/src/main/java/co/nimblehq/kmm/template/di/modules/ViewModelModule.kt b/sample/android/src/main/java/co/nimblehq/kmm/sample/di/modules/ViewModelModule.kt similarity index 57% rename from sample/android/src/main/java/co/nimblehq/kmm/template/di/modules/ViewModelModule.kt rename to sample/android/src/main/java/co/nimblehq/kmm/sample/di/modules/ViewModelModule.kt index 8af638f6..2df99f8d 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/template/di/modules/ViewModelModule.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/sample/di/modules/ViewModelModule.kt @@ -1,6 +1,6 @@ -package co.nimblehq.kmm.template.di.modules +package co.nimblehq.kmm.sample.di.modules -import co.nimblehq.kmm.template.ui.screens.home.HomeViewModel +import co.nimblehq.kmm.sample.ui.screens.home.HomeViewModel import org.koin.androidx.viewmodel.dsl.viewModelOf import org.koin.dsl.module diff --git a/sample/android/src/main/java/co/nimblehq/kmm/template/extensions/ContextExt.kt b/sample/android/src/main/java/co/nimblehq/kmm/sample/extensions/ContextExt.kt similarity index 81% rename from sample/android/src/main/java/co/nimblehq/kmm/template/extensions/ContextExt.kt rename to sample/android/src/main/java/co/nimblehq/kmm/sample/extensions/ContextExt.kt index 8b96a7e3..d4fb5e73 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/template/extensions/ContextExt.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/sample/extensions/ContextExt.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.template.extensions +package co.nimblehq.kmm.sample.extensions import android.content.Context import android.widget.Toast diff --git a/sample/android/src/main/java/co/nimblehq/kmm/template/extensions/FlowExt.kt b/sample/android/src/main/java/co/nimblehq/kmm/sample/extensions/FlowExt.kt similarity index 92% rename from sample/android/src/main/java/co/nimblehq/kmm/template/extensions/FlowExt.kt rename to sample/android/src/main/java/co/nimblehq/kmm/sample/extensions/FlowExt.kt index 60ba3212..0b5aeacb 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/template/extensions/FlowExt.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/sample/extensions/FlowExt.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.template.extensions +package co.nimblehq.kmm.sample.extensions import android.annotation.SuppressLint import androidx.compose.runtime.Composable diff --git a/sample/android/src/main/java/co/nimblehq/kmm/sample/lib/TypeAlias.kt b/sample/android/src/main/java/co/nimblehq/kmm/sample/lib/TypeAlias.kt new file mode 100644 index 00000000..74fc1754 --- /dev/null +++ b/sample/android/src/main/java/co/nimblehq/kmm/sample/lib/TypeAlias.kt @@ -0,0 +1,3 @@ +package co.nimblehq.kmm.sample.lib + +typealias IsLoading = Boolean diff --git a/sample/android/src/main/java/co/nimblehq/kmm/template/ui/AppDestination.kt b/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/AppDestination.kt similarity index 88% rename from sample/android/src/main/java/co/nimblehq/kmm/template/ui/AppDestination.kt rename to sample/android/src/main/java/co/nimblehq/kmm/sample/ui/AppDestination.kt index 2f8a5446..1a2c17f0 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/template/ui/AppDestination.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/AppDestination.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.template.ui +package co.nimblehq.kmm.sample.ui import androidx.navigation.* diff --git a/sample/android/src/main/java/co/nimblehq/kmm/template/ui/AppNavigation.kt b/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/AppNavigation.kt similarity index 92% rename from sample/android/src/main/java/co/nimblehq/kmm/template/ui/AppNavigation.kt rename to sample/android/src/main/java/co/nimblehq/kmm/sample/ui/AppNavigation.kt index 9012f069..22f16026 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/template/ui/AppNavigation.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/AppNavigation.kt @@ -1,9 +1,9 @@ -package co.nimblehq.kmm.template.ui +package co.nimblehq.kmm.sample.ui import androidx.compose.runtime.Composable import androidx.navigation.* import androidx.navigation.compose.* -import co.nimblehq.kmm.template.ui.screens.home.HomeScreen +import co.nimblehq.kmm.sample.ui.screens.home.HomeScreen @Composable fun AppNavigation( diff --git a/sample/android/src/main/java/co/nimblehq/kmm/template/ui/ErrorMapping.kt b/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/ErrorMapping.kt similarity index 63% rename from sample/android/src/main/java/co/nimblehq/kmm/template/ui/ErrorMapping.kt rename to sample/android/src/main/java/co/nimblehq/kmm/sample/ui/ErrorMapping.kt index b7883879..b661603b 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/template/ui/ErrorMapping.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/ErrorMapping.kt @@ -1,9 +1,9 @@ -package co.nimblehq.kmm.template.ui +package co.nimblehq.kmm.sample.ui import android.content.Context -import co.nimblehq.kmm.template.R -import co.nimblehq.kmm.template.domain.exceptions.ApiException -import co.nimblehq.kmm.template.extensions.showToast +import co.nimblehq.kmm.sample.R +import co.nimblehq.kmm.sample.domain.exceptions.ApiException +import co.nimblehq.kmm.sample.extensions.showToast fun Throwable.userReadableMessage(context: Context): String { return when (this) { diff --git a/sample/android/src/main/java/co/nimblehq/kmm/template/ui/base/BaseViewModel.kt b/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/base/BaseViewModel.kt similarity index 91% rename from sample/android/src/main/java/co/nimblehq/kmm/template/ui/base/BaseViewModel.kt rename to sample/android/src/main/java/co/nimblehq/kmm/sample/ui/base/BaseViewModel.kt index 89eae4fa..cdff1495 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/template/ui/base/BaseViewModel.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/base/BaseViewModel.kt @@ -1,9 +1,9 @@ -package co.nimblehq.kmm.template.ui.base +package co.nimblehq.kmm.sample.ui.base import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import co.nimblehq.kmm.template.lib.IsLoading -import co.nimblehq.kmm.template.ui.AppDestination +import co.nimblehq.kmm.sample.lib.IsLoading +import co.nimblehq.kmm.sample.ui.AppDestination import kotlinx.coroutines.flow.* import kotlinx.coroutines.launch import kotlin.coroutines.CoroutineContext diff --git a/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/models/UiModel.kt b/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/models/UiModel.kt new file mode 100644 index 00000000..914b505d --- /dev/null +++ b/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/models/UiModel.kt @@ -0,0 +1,9 @@ +package co.nimblehq.kmm.sample.ui.models + +import co.nimblehq.kmm.sample.domain.models.Model + +data class UiModel( + val id: Int +) + +fun Model.toUiModel() = UiModel(id = id ?: -1) diff --git a/sample/android/src/main/java/co/nimblehq/kmm/template/ui/screens/MainActivity.kt b/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/screens/MainActivity.kt similarity index 71% rename from sample/android/src/main/java/co/nimblehq/kmm/template/ui/screens/MainActivity.kt rename to sample/android/src/main/java/co/nimblehq/kmm/sample/ui/screens/MainActivity.kt index e45f4a44..3c2410b1 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/template/ui/screens/MainActivity.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/screens/MainActivity.kt @@ -1,10 +1,10 @@ -package co.nimblehq.kmm.template.ui.screens +package co.nimblehq.kmm.sample.ui.screens import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent -import co.nimblehq.kmm.template.ui.AppNavigation -import co.nimblehq.kmm.template.ui.theme.ComposeTheme +import co.nimblehq.kmm.sample.ui.AppNavigation +import co.nimblehq.kmm.sample.ui.theme.ComposeTheme class MainActivity : ComponentActivity() { diff --git a/sample/android/src/main/java/co/nimblehq/kmm/template/ui/screens/home/HomeScreen.kt b/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/screens/home/HomeScreen.kt similarity index 81% rename from sample/android/src/main/java/co/nimblehq/kmm/template/ui/screens/home/HomeScreen.kt rename to sample/android/src/main/java/co/nimblehq/kmm/sample/ui/screens/home/HomeScreen.kt index 48d60d37..1b34881e 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/template/ui/screens/home/HomeScreen.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/screens/home/HomeScreen.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.template.ui.screens.home +package co.nimblehq.kmm.sample.ui.screens.home import androidx.compose.foundation.layout.* import androidx.compose.material.Text @@ -10,13 +10,13 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.lifecycle.compose.collectAsStateWithLifecycle -import co.nimblehq.kmm.template.R -import co.nimblehq.kmm.template.extensions.collectAsEffect -import co.nimblehq.kmm.template.ui.AppDestination -import co.nimblehq.kmm.template.ui.models.UiModel -import co.nimblehq.kmm.template.ui.showToast -import co.nimblehq.kmm.template.ui.theme.AppTheme.dimensions -import co.nimblehq.kmm.template.ui.theme.ComposeTheme +import co.nimblehq.kmm.sample.R +import co.nimblehq.kmm.sample.extensions.collectAsEffect +import co.nimblehq.kmm.sample.ui.AppDestination +import co.nimblehq.kmm.sample.ui.models.UiModel +import co.nimblehq.kmm.sample.ui.showToast +import co.nimblehq.kmm.sample.ui.theme.AppTheme.dimensions +import co.nimblehq.kmm.sample.ui.theme.ComposeTheme import org.koin.androidx.compose.getViewModel import timber.log.Timber diff --git a/sample/android/src/main/java/co/nimblehq/kmm/template/ui/screens/home/HomeViewModel.kt b/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/screens/home/HomeViewModel.kt similarity index 67% rename from sample/android/src/main/java/co/nimblehq/kmm/template/ui/screens/home/HomeViewModel.kt rename to sample/android/src/main/java/co/nimblehq/kmm/sample/ui/screens/home/HomeViewModel.kt index f028a420..d6da9e2f 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/template/ui/screens/home/HomeViewModel.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/screens/home/HomeViewModel.kt @@ -1,11 +1,11 @@ -package co.nimblehq.kmm.template.ui.screens.home +package co.nimblehq.kmm.sample.ui.screens.home import androidx.lifecycle.viewModelScope -import co.nimblehq.kmm.template.domain.usecases.UseCase -import co.nimblehq.kmm.template.ui.base.BaseViewModel -import co.nimblehq.kmm.template.ui.models.UiModel -import co.nimblehq.kmm.template.ui.models.toUiModel -import co.nimblehq.kmm.template.util.DispatchersProvider +import co.nimblehq.kmm.sample.domain.usecases.UseCase +import co.nimblehq.kmm.sample.ui.base.BaseViewModel +import co.nimblehq.kmm.sample.ui.models.UiModel +import co.nimblehq.kmm.sample.ui.models.toUiModel +import co.nimblehq.kmm.sample.util.DispatchersProvider import kotlinx.coroutines.flow.* class HomeViewModel( diff --git a/sample/android/src/main/java/co/nimblehq/kmm/template/ui/theme/AppColors.kt b/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/theme/AppColors.kt similarity index 93% rename from sample/android/src/main/java/co/nimblehq/kmm/template/ui/theme/AppColors.kt rename to sample/android/src/main/java/co/nimblehq/kmm/sample/ui/theme/AppColors.kt index 1eca1eb5..0086e04a 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/template/ui/theme/AppColors.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/theme/AppColors.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.template.ui.theme +package co.nimblehq.kmm.sample.ui.theme import androidx.compose.material.* import androidx.compose.runtime.staticCompositionLocalOf diff --git a/sample/android/src/main/java/co/nimblehq/kmm/template/ui/theme/AppDimensions.kt b/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/theme/AppDimensions.kt similarity index 86% rename from sample/android/src/main/java/co/nimblehq/kmm/template/ui/theme/AppDimensions.kt rename to sample/android/src/main/java/co/nimblehq/kmm/sample/ui/theme/AppDimensions.kt index 63e23f78..6d9cfa85 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/template/ui/theme/AppDimensions.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/theme/AppDimensions.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.template.ui.theme +package co.nimblehq.kmm.sample.ui.theme import androidx.compose.runtime.staticCompositionLocalOf import androidx.compose.ui.unit.dp diff --git a/sample/android/src/main/java/co/nimblehq/kmm/template/ui/theme/AppShapes.kt b/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/theme/AppShapes.kt similarity index 84% rename from sample/android/src/main/java/co/nimblehq/kmm/template/ui/theme/AppShapes.kt rename to sample/android/src/main/java/co/nimblehq/kmm/sample/ui/theme/AppShapes.kt index 0a039411..636901a1 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/template/ui/theme/AppShapes.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/theme/AppShapes.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.template.ui.theme +package co.nimblehq.kmm.sample.ui.theme import androidx.compose.material.Shapes import androidx.compose.runtime.staticCompositionLocalOf diff --git a/sample/android/src/main/java/co/nimblehq/kmm/template/ui/theme/AppStyles.kt b/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/theme/AppStyles.kt similarity index 80% rename from sample/android/src/main/java/co/nimblehq/kmm/template/ui/theme/AppStyles.kt rename to sample/android/src/main/java/co/nimblehq/kmm/sample/ui/theme/AppStyles.kt index b6568d36..944f13e9 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/template/ui/theme/AppStyles.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/theme/AppStyles.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.template.ui.theme +package co.nimblehq.kmm.sample.ui.theme import androidx.compose.runtime.staticCompositionLocalOf diff --git a/sample/android/src/main/java/co/nimblehq/kmm/template/ui/theme/AppTypography.kt b/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/theme/AppTypography.kt similarity index 85% rename from sample/android/src/main/java/co/nimblehq/kmm/template/ui/theme/AppTypography.kt rename to sample/android/src/main/java/co/nimblehq/kmm/sample/ui/theme/AppTypography.kt index b8c49e23..962c0da9 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/template/ui/theme/AppTypography.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/theme/AppTypography.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.template.ui.theme +package co.nimblehq.kmm.sample.ui.theme import androidx.compose.material.Typography import androidx.compose.runtime.staticCompositionLocalOf diff --git a/sample/android/src/main/java/co/nimblehq/kmm/template/ui/theme/Theme.kt b/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/theme/Theme.kt similarity index 97% rename from sample/android/src/main/java/co/nimblehq/kmm/template/ui/theme/Theme.kt rename to sample/android/src/main/java/co/nimblehq/kmm/sample/ui/theme/Theme.kt index 5a849441..9562824e 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/template/ui/theme/Theme.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/theme/Theme.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.template.ui.theme +package co.nimblehq.kmm.sample.ui.theme import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.material.* diff --git a/sample/android/src/main/java/co/nimblehq/kmm/template/util/DispatchersProvider.kt b/sample/android/src/main/java/co/nimblehq/kmm/sample/util/DispatchersProvider.kt similarity index 82% rename from sample/android/src/main/java/co/nimblehq/kmm/template/util/DispatchersProvider.kt rename to sample/android/src/main/java/co/nimblehq/kmm/sample/util/DispatchersProvider.kt index 809152be..65ff1c6b 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/template/util/DispatchersProvider.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/sample/util/DispatchersProvider.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.template.util +package co.nimblehq.kmm.sample.util import kotlinx.coroutines.CoroutineDispatcher diff --git a/sample/android/src/main/java/co/nimblehq/kmm/template/util/DispatchersProviderImpl.kt b/sample/android/src/main/java/co/nimblehq/kmm/sample/util/DispatchersProviderImpl.kt similarity index 85% rename from sample/android/src/main/java/co/nimblehq/kmm/template/util/DispatchersProviderImpl.kt rename to sample/android/src/main/java/co/nimblehq/kmm/sample/util/DispatchersProviderImpl.kt index 62e88d40..e9e67808 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/template/util/DispatchersProviderImpl.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/sample/util/DispatchersProviderImpl.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.template.util +package co.nimblehq.kmm.sample.util import kotlinx.coroutines.Dispatchers diff --git a/sample/android/src/main/java/co/nimblehq/kmm/template/lib/TypeAlias.kt b/sample/android/src/main/java/co/nimblehq/kmm/template/lib/TypeAlias.kt deleted file mode 100644 index 5e6a53c9..00000000 --- a/sample/android/src/main/java/co/nimblehq/kmm/template/lib/TypeAlias.kt +++ /dev/null @@ -1,3 +0,0 @@ -package co.nimblehq.kmm.template.lib - -typealias IsLoading = Boolean diff --git a/sample/android/src/main/java/co/nimblehq/kmm/template/ui/models/UiModel.kt b/sample/android/src/main/java/co/nimblehq/kmm/template/ui/models/UiModel.kt deleted file mode 100644 index 40b284b7..00000000 --- a/sample/android/src/main/java/co/nimblehq/kmm/template/ui/models/UiModel.kt +++ /dev/null @@ -1,9 +0,0 @@ -package co.nimblehq.kmm.template.ui.models - -import co.nimblehq.kmm.template.domain.models.Model - -data class UiModel( - val id: Int -) - -fun Model.toUiModel() = UiModel(id = id ?: -1) diff --git a/sample/android/src/test/java/co/nimblehq/kmm/template/test/CoroutineTestRule.kt b/sample/android/src/test/java/co/nimblehq/kmm/sample/test/CoroutineTestRule.kt similarity index 89% rename from sample/android/src/test/java/co/nimblehq/kmm/template/test/CoroutineTestRule.kt rename to sample/android/src/test/java/co/nimblehq/kmm/sample/test/CoroutineTestRule.kt index 967ea2d4..97486ca1 100644 --- a/sample/android/src/test/java/co/nimblehq/kmm/template/test/CoroutineTestRule.kt +++ b/sample/android/src/test/java/co/nimblehq/kmm/sample/test/CoroutineTestRule.kt @@ -1,6 +1,6 @@ -package co.nimblehq.kmm.template.test +package co.nimblehq.kmm.sample.test -import co.nimblehq.kmm.template.util.DispatchersProvider +import co.nimblehq.kmm.sample.util.DispatchersProvider import kotlinx.coroutines.* import kotlinx.coroutines.test.* import org.junit.rules.TestWatcher diff --git a/sample/android/src/test/java/co/nimblehq/kmm/template/test/MockUtil.kt b/sample/android/src/test/java/co/nimblehq/kmm/sample/test/MockUtil.kt similarity index 57% rename from sample/android/src/test/java/co/nimblehq/kmm/template/test/MockUtil.kt rename to sample/android/src/test/java/co/nimblehq/kmm/sample/test/MockUtil.kt index 2a7f881a..059fa6a1 100644 --- a/sample/android/src/test/java/co/nimblehq/kmm/template/test/MockUtil.kt +++ b/sample/android/src/test/java/co/nimblehq/kmm/sample/test/MockUtil.kt @@ -1,6 +1,6 @@ -package co.nimblehq.kmm.template.test +package co.nimblehq.kmm.sample.test -import co.nimblehq.kmm.template.domain.models.Model +import co.nimblehq.kmm.sample.domain.models.Model object MockUtil { diff --git a/sample/android/src/test/java/co/nimblehq/kmm/template/ui/screens/BaseScreenTest.kt b/sample/android/src/test/java/co/nimblehq/kmm/sample/ui/screens/BaseScreenTest.kt similarity index 79% rename from sample/android/src/test/java/co/nimblehq/kmm/template/ui/screens/BaseScreenTest.kt rename to sample/android/src/test/java/co/nimblehq/kmm/sample/ui/screens/BaseScreenTest.kt index fb13263e..2dd6d4a0 100644 --- a/sample/android/src/test/java/co/nimblehq/kmm/template/ui/screens/BaseScreenTest.kt +++ b/sample/android/src/test/java/co/nimblehq/kmm/sample/ui/screens/BaseScreenTest.kt @@ -1,6 +1,6 @@ -package co.nimblehq.kmm.template.ui.screens +package co.nimblehq.kmm.sample.ui.screens -import co.nimblehq.kmm.template.test.CoroutineTestRule +import co.nimblehq.kmm.sample.test.CoroutineTestRule import kotlinx.coroutines.test.StandardTestDispatcher abstract class BaseScreenTest { diff --git a/sample/android/src/test/java/co/nimblehq/kmm/template/ui/screens/home/HomeScreenTest.kt b/sample/android/src/test/java/co/nimblehq/kmm/sample/ui/screens/home/HomeScreenTest.kt similarity index 85% rename from sample/android/src/test/java/co/nimblehq/kmm/template/ui/screens/home/HomeScreenTest.kt rename to sample/android/src/test/java/co/nimblehq/kmm/sample/ui/screens/home/HomeScreenTest.kt index 06792876..4d87ea1b 100644 --- a/sample/android/src/test/java/co/nimblehq/kmm/template/ui/screens/home/HomeScreenTest.kt +++ b/sample/android/src/test/java/co/nimblehq/kmm/sample/ui/screens/home/HomeScreenTest.kt @@ -1,16 +1,16 @@ -package co.nimblehq.kmm.template.ui.screens.home +package co.nimblehq.kmm.sample.ui.screens.home import androidx.activity.compose.setContent import androidx.compose.ui.test.* import androidx.compose.ui.test.junit4.* import androidx.test.ext.junit.rules.ActivityScenarioRule -import co.nimblehq.kmm.template.R -import co.nimblehq.kmm.template.domain.usecases.UseCase -import co.nimblehq.kmm.template.test.MockUtil -import co.nimblehq.kmm.template.ui.AppDestination -import co.nimblehq.kmm.template.ui.screens.BaseScreenTest -import co.nimblehq.kmm.template.ui.screens.MainActivity -import co.nimblehq.kmm.template.ui.theme.ComposeTheme +import co.nimblehq.kmm.sample.R +import co.nimblehq.kmm.sample.domain.usecases.UseCase +import co.nimblehq.kmm.sample.test.MockUtil +import co.nimblehq.kmm.sample.ui.AppDestination +import co.nimblehq.kmm.sample.ui.screens.BaseScreenTest +import co.nimblehq.kmm.sample.ui.screens.MainActivity +import co.nimblehq.kmm.sample.ui.theme.ComposeTheme import io.kotest.matchers.shouldBe import io.mockk.every import io.mockk.mockk diff --git a/sample/android/src/test/java/co/nimblehq/kmm/template/ui/screens/home/HomeViewModelTest.kt b/sample/android/src/test/java/co/nimblehq/kmm/sample/ui/screens/home/HomeViewModelTest.kt similarity index 85% rename from sample/android/src/test/java/co/nimblehq/kmm/template/ui/screens/home/HomeViewModelTest.kt rename to sample/android/src/test/java/co/nimblehq/kmm/sample/ui/screens/home/HomeViewModelTest.kt index 730ffce4..0dcac796 100644 --- a/sample/android/src/test/java/co/nimblehq/kmm/template/ui/screens/home/HomeViewModelTest.kt +++ b/sample/android/src/test/java/co/nimblehq/kmm/sample/ui/screens/home/HomeViewModelTest.kt @@ -1,11 +1,11 @@ -package co.nimblehq.kmm.template.ui.screens.home +package co.nimblehq.kmm.sample.ui.screens.home import app.cash.turbine.test -import co.nimblehq.kmm.template.domain.usecases.UseCase -import co.nimblehq.kmm.template.test.CoroutineTestRule -import co.nimblehq.kmm.template.test.MockUtil -import co.nimblehq.kmm.template.ui.models.toUiModel -import co.nimblehq.kmm.template.util.DispatchersProvider +import co.nimblehq.kmm.sample.domain.usecases.UseCase +import co.nimblehq.kmm.sample.test.CoroutineTestRule +import co.nimblehq.kmm.sample.test.MockUtil +import co.nimblehq.kmm.sample.ui.models.toUiModel +import co.nimblehq.kmm.sample.util.DispatchersProvider import io.kotest.matchers.shouldBe import io.mockk.every import io.mockk.mockk diff --git a/sample/ios/Gemfile.lock b/sample/ios/Gemfile.lock index 6b650dae..f1fd300e 100644 --- a/sample/ios/Gemfile.lock +++ b/sample/ios/Gemfile.lock @@ -26,7 +26,7 @@ GEM atomos (0.1.3) aws-eventstream (1.2.0) aws-partitions (1.843.0) - aws-sdk-core (3.185.1) + aws-sdk-core (3.185.2) aws-eventstream (~> 1, >= 1.0.2) aws-partitions (~> 1, >= 1.651.0) aws-sigv4 (~> 1.5) diff --git a/sample/ios/fastlane/Constants/Constant.swift b/sample/ios/fastlane/Constants/Constant.swift index 77d4b607..208268cb 100644 --- a/sample/ios/fastlane/Constants/Constant.swift +++ b/sample/ios/fastlane/Constants/Constant.swift @@ -53,8 +53,8 @@ enum Constant { // MARK: - Project - static let stagingBundleId = "co.nimblehq.kmm.template.staging" - static let productionBundleId = "co.nimblehq.kmm.template" + static let stagingBundleId = "co.nimblehq.kmm.sample.staging" + static let productionBundleId = "co.nimblehq.kmm.sample" static let projectName = "sample" // MARK: - Symbol diff --git a/sample/ios/sample.xcodeproj/project.pbxproj b/sample/ios/sample.xcodeproj/project.pbxproj index c5c984e9..335fd768 100644 --- a/sample/ios/sample.xcodeproj/project.pbxproj +++ b/sample/ios/sample.xcodeproj/project.pbxproj @@ -11,10 +11,11 @@ 0FCD70BBC15623E2843E571B /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = E4C58806C2B28AED0873F8AF /* .gitkeep */; }; 18B4C2A55909888C5D0EDFDA /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6432B427D5097BCF75C4B15E /* AppDelegate.swift */; }; 1F3B8CA45E426F2E4BA8A41C /* R.generated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EEB8F8EE4393D2D9AC51316 /* R.generated.swift */; }; + 1FF9740123925062BBA5F833 /* Pods_sample_sampleKIFUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D3331DB2709CCEFE900F012B /* Pods_sample_sampleKIFUITests.framework */; }; 20FF012BAC088FFC92962E28 /* UIView+Subviews.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDBCDCBA1D855D7023A0342F /* UIView+Subviews.swift */; }; 33209CEB34C04BC32D0FFDD4 /* UseCaseFactoryProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CA52B4C8C3AF1CB2181C14D /* UseCaseFactoryProtocol.swift */; }; 3559AC5988194A4701902F80 /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = 302BB730B8D0BF901FF489B6 /* .gitkeep */; }; - 441856C6338F240632499694 /* Pods_sampleTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6299D2D9BA8200B5ADEF0507 /* Pods_sampleTests.framework */; }; + 39892AEE764EE5D4DDE3E363 /* Pods_sample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C03AAC625843DC1434CDC9B /* Pods_sample.framework */; }; 53157A77A8B802D108AE9D73 /* Typealiases.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5B819017A28FE15B242BB5B /* Typealiases.swift */; }; 66C817ACCA7CE15ABF58BC06 /* HomeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBD1568B768046A18E011F2C /* HomeViewController.swift */; }; 701258D40CE69EC8168A3D12 /* AutoMockable.generated.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBF1B234787FCD92142B105D /* AutoMockable.generated.swift */; }; @@ -22,15 +23,14 @@ 7ED0E12DA355DEE8EED0B614 /* Color+Application.swift in Sources */ = {isa = PBXBuildFile; fileRef = A29F97F67192DE9B66E872E6 /* Color+Application.swift */; }; 840CF0D3913B0069F0F2FF12 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D2F657F289C5314152FFCFA2 /* Assets.xcassets */; }; 8A43095CEA3F4C83584AB199 /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = 05F57F86A37A0E0B6CC54CB4 /* .gitkeep */; }; - 96D4A9548A8EA4E854A6C0F1 /* Pods_sample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 732451F9CC8676DA2402803C /* Pods_sample.framework */; }; 9726C56684473F7E78415A58 /* Navigator+Scene.swift in Sources */ = {isa = PBXBuildFile; fileRef = A64B0E7B034D526205048030 /* Navigator+Scene.swift */; }; 9ACA6A5E938E3365302C3749 /* Navigator.swift in Sources */ = {isa = PBXBuildFile; fileRef = C159B27C88C08E8AEB22AFD4 /* Navigator.swift */; }; BA754F29AB917D745895322D /* Constants+API.swift in Sources */ = {isa = PBXBuildFile; fileRef = 222B1BD9F71FF1797F160231 /* Constants+API.swift */; }; + C0314198E31977A147166BEA /* Pods_sampleTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4F14AE6F7B0AF6F0974A37F5 /* Pods_sampleTests.framework */; }; C152F2B63E42238BE4F20592 /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82F5C2293A2DB24CDCA81957 /* Constants.swift */; }; CA324314BE7318252E4D5D62 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 6952456309E29C9609D23B3F /* LaunchScreen.storyboard */; }; D609A7DCE8B3E7A49CFACC2E /* Navigator+Transition.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9816C413C0D0DD7B01BA9CE /* Navigator+Transition.swift */; }; DE665FDD6164065A881A2F44 /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = 67C0EA707F4FBB459FEBA640 /* .gitkeep */; }; - DE6A5A6BD366560434BBCF51 /* Pods_sample_sampleKIFUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8DE405D9F32CDA3DAD661167 /* Pods_sample_sampleKIFUITests.framework */; }; F444409E14F8ED6BF6A2666A /* KIF+Swift.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFAE58D40BFE459B1184D994 /* KIF+Swift.swift */; }; F858855AD6392D182B853A79 /* Optional+Unwrap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 562EF605C844B951CD47F38D /* Optional+Unwrap.swift */; }; /* End PBXBuildFile section */ @@ -88,46 +88,46 @@ /* Begin PBXFileReference section */ 04B8796D7472561BF8EB10A1 /* DebugProduction.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = DebugProduction.xcconfig; sourceTree = ""; }; 05F57F86A37A0E0B6CC54CB4 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; - 1060DCCDD44672BC5ED2DBFC /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug staging.xcconfig"; sourceTree = ""; }; + 0F491CE53756C9828B5CABC6 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release staging.xcconfig"; sourceTree = ""; }; 18C176717B282B7A8842FC73 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; 1EEB8F8EE4393D2D9AC51316 /* R.generated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = R.generated.swift; sourceTree = ""; }; - 1F14313FB3B4FAAE1FD16E1A /* Pods-sampleTests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug production.xcconfig"; sourceTree = ""; }; 222B1BD9F71FF1797F160231 /* Constants+API.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Constants+API.swift"; sourceTree = ""; }; + 29A3C11FB7D567146C40DEF5 /* Pods-sampleTests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug staging.xcconfig"; sourceTree = ""; }; + 2C03AAC625843DC1434CDC9B /* Pods_sample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 302BB730B8D0BF901FF489B6 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; + 3D9869EABC86E17F874E56D6 /* Pods-sample.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release staging.xcconfig"; sourceTree = ""; }; 41210B648761A8DC4ABD3BB9 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; 414B86B12605C252A692EA37 /* sampleKIFUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = sampleKIFUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 4B17780E8B80545B2388218B /* Pods-sampleTests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release production.xcconfig"; sourceTree = ""; }; + 4F14AE6F7B0AF6F0974A37F5 /* Pods_sampleTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sampleTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 4F892EC38D36135735F7B0CE /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug staging.xcconfig"; sourceTree = ""; }; 562EF605C844B951CD47F38D /* Optional+Unwrap.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Optional+Unwrap.swift"; sourceTree = ""; }; - 5CE28693E8BE9C4CC41DEC10 /* Pods-sample.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug staging.xcconfig"; sourceTree = ""; }; - 6299D2D9BA8200B5ADEF0507 /* Pods_sampleTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sampleTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 6432B427D5097BCF75C4B15E /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 67C0EA707F4FBB459FEBA640 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; 6952456309E29C9609D23B3F /* LaunchScreen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = ""; }; - 732451F9CC8676DA2402803C /* Pods_sample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 7DF9A234C3581A05901FC6CA /* Pods-sampleTests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug staging.xcconfig"; sourceTree = ""; }; 82F5C2293A2DB24CDCA81957 /* Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = ""; }; - 848CD542974644280350051C /* Pods-sample.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug production.xcconfig"; sourceTree = ""; }; + 879E0B1F8677418C34270EB5 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug production.xcconfig"; sourceTree = ""; }; 8CA52B4C8C3AF1CB2181C14D /* UseCaseFactoryProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UseCaseFactoryProtocol.swift; sourceTree = ""; }; - 8DE405D9F32CDA3DAD661167 /* Pods_sample_sampleKIFUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample_sampleKIFUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; A29F97F67192DE9B66E872E6 /* Color+Application.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Color+Application.swift"; sourceTree = ""; }; + A331B95DB9124745C182B4AD /* Pods-sample.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug production.xcconfig"; sourceTree = ""; }; A64B0E7B034D526205048030 /* Navigator+Scene.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Navigator+Scene.swift"; sourceTree = ""; }; - A8BE3589AD918C9C528BB08B /* Pods-sample-sampleKIFUITests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release production.xcconfig"; sourceTree = ""; }; - AC7CC61EAEB2F6D681BBEBA6 /* Pods-sample.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release staging.xcconfig"; sourceTree = ""; }; ADE63A1C257C06E1D05C8136 /* DebugStaging.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = DebugStaging.xcconfig; sourceTree = ""; }; - AE9901FD8CF2FFBD0BBC3214 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release staging.xcconfig"; sourceTree = ""; }; + B2AF0BE6E6F1FD096346C7DA /* Pods-sampleTests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release staging.xcconfig"; sourceTree = ""; }; B8847183C3FF3D70FE4192CD /* sampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = sampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; BBD1568B768046A18E011F2C /* HomeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeViewController.swift; sourceTree = ""; }; BBF1B234787FCD92142B105D /* AutoMockable.generated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutoMockable.generated.swift; sourceTree = ""; }; BD9D9C9A495C5EA0AE9039C6 /* ReleaseProduction.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = ReleaseProduction.xcconfig; sourceTree = ""; }; C159B27C88C08E8AEB22AFD4 /* Navigator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Navigator.swift; sourceTree = ""; }; - CCB22E684B15239B5011E7F5 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug production.xcconfig"; sourceTree = ""; }; - CD16504C8453215874D2D65A /* Pods-sampleTests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release staging.xcconfig"; sourceTree = ""; }; CD3A7C3AC94E15DEC4F12A85 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; CDBCDCBA1D855D7023A0342F /* UIView+Subviews.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIView+Subviews.swift"; sourceTree = ""; }; D2D7345A2017D2D372785123 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; D2F657F289C5314152FFCFA2 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - E13680DF245C98E90E276EB9 /* Pods-sample.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release production.xcconfig"; sourceTree = ""; }; + D3331DB2709CCEFE900F012B /* Pods_sample_sampleKIFUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample_sampleKIFUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D3EF31144033F2293FB5905E /* Pods-sampleTests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug production.xcconfig"; sourceTree = ""; }; + D73070D739B05C83395F9F77 /* Pods-sample.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release production.xcconfig"; sourceTree = ""; }; + DC055C0A4C5D4E66DD3974DC /* Pods-sample.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug staging.xcconfig"; sourceTree = ""; }; + E436191F6B76220C5310E670 /* Pods-sample-sampleKIFUITests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release production.xcconfig"; sourceTree = ""; }; E4C58806C2B28AED0873F8AF /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; - E9392B1DC70A3B9D0E13ED13 /* Pods-sampleTests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release production.xcconfig"; sourceTree = ""; }; EFAE58D40BFE459B1184D994 /* KIF+Swift.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "KIF+Swift.swift"; sourceTree = ""; }; EFE5D281FD0FFFF44FC92B04 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; F5B819017A28FE15B242BB5B /* Typealiases.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Typealiases.swift; sourceTree = ""; }; @@ -141,7 +141,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - DE6A5A6BD366560434BBCF51 /* Pods_sample_sampleKIFUITests.framework in Frameworks */, + 1FF9740123925062BBA5F833 /* Pods_sample_sampleKIFUITests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -149,7 +149,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 441856C6338F240632499694 /* Pods_sampleTests.framework in Frameworks */, + C0314198E31977A147166BEA /* Pods_sampleTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -157,7 +157,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 96D4A9548A8EA4E854A6C0F1 /* Pods_sample.framework in Frameworks */, + 39892AEE764EE5D4DDE3E363 /* Pods_sample.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -190,6 +190,26 @@ path = Modules; sourceTree = ""; }; + 120F011B8464058CB9A0BE24 /* Pods */ = { + isa = PBXGroup; + children = ( + A331B95DB9124745C182B4AD /* Pods-sample.debug production.xcconfig */, + DC055C0A4C5D4E66DD3974DC /* Pods-sample.debug staging.xcconfig */, + D73070D739B05C83395F9F77 /* Pods-sample.release production.xcconfig */, + 3D9869EABC86E17F874E56D6 /* Pods-sample.release staging.xcconfig */, + 879E0B1F8677418C34270EB5 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */, + 4F892EC38D36135735F7B0CE /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */, + E436191F6B76220C5310E670 /* Pods-sample-sampleKIFUITests.release production.xcconfig */, + 0F491CE53756C9828B5CABC6 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */, + D3EF31144033F2293FB5905E /* Pods-sampleTests.debug production.xcconfig */, + 29A3C11FB7D567146C40DEF5 /* Pods-sampleTests.debug staging.xcconfig */, + 4B17780E8B80545B2388218B /* Pods-sampleTests.release production.xcconfig */, + B2AF0BE6E6F1FD096346C7DA /* Pods-sampleTests.release staging.xcconfig */, + ); + name = Pods; + path = Pods; + sourceTree = ""; + }; 2003C041305A8015968A9294 /* Plists */ = { isa = PBXGroup; children = ( @@ -261,9 +281,9 @@ 52B072A663159D9D007D540F /* Frameworks */ = { isa = PBXGroup; children = ( - 732451F9CC8676DA2402803C /* Pods_sample.framework */, - 8DE405D9F32CDA3DAD661167 /* Pods_sample_sampleKIFUITests.framework */, - 6299D2D9BA8200B5ADEF0507 /* Pods_sampleTests.framework */, + 2C03AAC625843DC1434CDC9B /* Pods_sample.framework */, + D3331DB2709CCEFE900F012B /* Pods_sample_sampleKIFUITests.framework */, + 4F14AE6F7B0AF6F0974A37F5 /* Pods_sampleTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -298,7 +318,7 @@ 9B7CF20BE2915B62911C62AA /* Project */, 52B072A663159D9D007D540F /* Frameworks */, 372816F20EC291B850EECF1F /* Products */, - F830344B518D5ACAF63BB390 /* Pods */, + 120F011B8464058CB9A0BE24 /* Pods */, ); sourceTree = ""; }; @@ -543,26 +563,6 @@ path = Entities; sourceTree = ""; }; - F830344B518D5ACAF63BB390 /* Pods */ = { - isa = PBXGroup; - children = ( - 848CD542974644280350051C /* Pods-sample.debug production.xcconfig */, - 5CE28693E8BE9C4CC41DEC10 /* Pods-sample.debug staging.xcconfig */, - E13680DF245C98E90E276EB9 /* Pods-sample.release production.xcconfig */, - AC7CC61EAEB2F6D681BBEBA6 /* Pods-sample.release staging.xcconfig */, - CCB22E684B15239B5011E7F5 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */, - 1060DCCDD44672BC5ED2DBFC /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */, - A8BE3589AD918C9C528BB08B /* Pods-sample-sampleKIFUITests.release production.xcconfig */, - AE9901FD8CF2FFBD0BBC3214 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */, - 1F14313FB3B4FAAE1FD16E1A /* Pods-sampleTests.debug production.xcconfig */, - 7DF9A234C3581A05901FC6CA /* Pods-sampleTests.debug staging.xcconfig */, - E9392B1DC70A3B9D0E13ED13 /* Pods-sampleTests.release production.xcconfig */, - CD16504C8453215874D2D65A /* Pods-sampleTests.release staging.xcconfig */, - ); - name = Pods; - path = Pods; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -570,7 +570,7 @@ isa = PBXNativeTarget; buildConfigurationList = 56FE2126489C1E87A2D918A3 /* Build configuration list for PBXNativeTarget "sample" */; buildPhases = ( - 47D4532F7685634995D5A804 /* [CP] Check Pods Manifest.lock */, + C47DB1DA07D151B79E83A2E4 /* [CP] Check Pods Manifest.lock */, B2B621CC2B1F4F58601CD98D /* Sourcery */, 7EB246CFC1E0CCBA652DC37E /* R.swift */, CF26733D03C8D33F8823EE1F /* SwiftLint */, @@ -580,7 +580,7 @@ 494614C33B509301DBBDAD42 /* Embed Frameworks */, 89C77BA3C707AD804F79284B /* Frameworks */, 843C67A8A78058B8D8B3D11E /* Copy GoogleService-Info.plist */, - EFF0D4F73769824EA9E7BADC /* [CP] Embed Pods Frameworks */, + 9607753E18A8641B1BBAA13B /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -595,12 +595,12 @@ isa = PBXNativeTarget; buildConfigurationList = 31E84C030BDB7A39BCE38D8C /* Build configuration list for PBXNativeTarget "sampleKIFUITests" */; buildPhases = ( - FF09BFE48336B50C52B70FA3 /* [CP] Check Pods Manifest.lock */, + 99D9C7E06C1FA5EF308D07CA /* [CP] Check Pods Manifest.lock */, 21ADDF0B071B770FFB6A086A /* Sources */, 43218B877C978B4CA5B93235 /* Resources */, 392BFB718CBF57CF0D23848E /* Embed Frameworks */, 29CEF4F9FF315D4254B8BC69 /* Frameworks */, - 938F8BFEC7DF701479726CC1 /* [CP] Embed Pods Frameworks */, + C251DAA7AFFE9E397DF8FE7F /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -616,13 +616,13 @@ isa = PBXNativeTarget; buildConfigurationList = C3875EBB5A0F6612B3515A13 /* Build configuration list for PBXNativeTarget "sampleTests" */; buildPhases = ( - D98D46E06B225A3FDFF2D018 /* [CP] Check Pods Manifest.lock */, + F799C38FFC9B5D7A5850A1D2 /* [CP] Check Pods Manifest.lock */, 2F7B6AB35D89AA83D514ECC2 /* SwiftFormat */, 9344943859735CAEA8DDB048 /* Sources */, E472A2AC48FE9588146AB254 /* Resources */, 51D3263E7013F91DCDB0D884 /* Embed Frameworks */, 7A7AFF7C6576A774E896CA81 /* Frameworks */, - 1B311ECAD162060E1690042F /* [CP] Embed Pods Frameworks */, + 0101E7C29B51E0E61F940A35 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -703,7 +703,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 1B311ECAD162060E1690042F /* [CP] Embed Pods Frameworks */ = { + 0101E7C29B51E0E61F940A35 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -738,31 +738,28 @@ shellPath = /bin/sh; shellScript = "if [ -z \"$CI\" ]; then\n \"${PODS_ROOT}/SwiftFormat/CommandLineTool/swiftformat\" \"$SRCROOT\"\nfi"; }; - 47D4532F7685634995D5A804 /* [CP] Check Pods Manifest.lock */ = { + 7EB246CFC1E0CCBA652DC37E /* R.swift */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", ); - name = "[CP] Check Pods Manifest.lock"; + name = R.swift; outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-sample-checkManifestLockResult.txt", + "$SRCROOT/$PROJECT_NAME/Sources/Supports/Helpers/Rswift/R.generated.swift", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "\"$PODS_ROOT/R.swift/rswift\" generate \"$SRCROOT/$PROJECT_NAME/Sources/Supports/Helpers/Rswift/R.generated.swift\""; }; - 7EB246CFC1E0CCBA652DC37E /* R.swift */ = { + 843C67A8A78058B8D8B3D11E /* Copy GoogleService-Info.plist */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); @@ -770,49 +767,52 @@ ); inputPaths = ( ); - name = R.swift; + name = "Copy GoogleService-Info.plist"; outputFileListPaths = ( ); outputPaths = ( - "$SRCROOT/$PROJECT_NAME/Sources/Supports/Helpers/Rswift/R.generated.swift", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"$PODS_ROOT/R.swift/rswift\" generate \"$SRCROOT/$PROJECT_NAME/Sources/Supports/Helpers/Rswift/R.generated.swift\""; + shellScript = "PATH_TO_GOOGLE_PLISTS=\"$SRCROOT/$PROJECT_NAME/Configurations/Plists/GoogleService\"\n\ncase \"${CONFIGURATION}\" in\n\"Debug Staging\" | \"Release Staging\" )\ncp -r \"$PATH_TO_GOOGLE_PLISTS/Staging/GoogleService-Info.plist\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist\"\n;;\n\"Debug Production\" | \"Release Production\" )\ncp -r \"$PATH_TO_GOOGLE_PLISTS/Production/GoogleService-Info.plist\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist\"\n;;\n*)\n;;\nesac"; }; - 843C67A8A78058B8D8B3D11E /* Copy GoogleService-Info.plist */ = { + 9607753E18A8641B1BBAA13B /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - ); - name = "Copy GoogleService-Info.plist"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - ); - outputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "PATH_TO_GOOGLE_PLISTS=\"$SRCROOT/$PROJECT_NAME/Configurations/Plists/GoogleService\"\n\ncase \"${CONFIGURATION}\" in\n\"Debug Staging\" | \"Release Staging\" )\ncp -r \"$PATH_TO_GOOGLE_PLISTS/Staging/GoogleService-Info.plist\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist\"\n;;\n\"Debug Production\" | \"Release Production\" )\ncp -r \"$PATH_TO_GOOGLE_PLISTS/Production/GoogleService-Info.plist\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist\"\n;;\n*)\n;;\nesac"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks.sh\"\n"; + showEnvVarsInLog = 0; }; - 938F8BFEC7DF701479726CC1 /* [CP] Embed Pods Frameworks */ = { + 99D9C7E06C1FA5EF308D07CA /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-sample-sampleKIFUITests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; B2B621CC2B1F4F58601CD98D /* Sourcery */ = { @@ -833,25 +833,24 @@ shellPath = /bin/sh; shellScript = "\"$PODS_ROOT/Sourcery/bin/sourcery\""; }; - CF26733D03C8D33F8823EE1F /* SwiftLint */ = { + C251DAA7AFFE9E397DF8FE7F /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - ); - name = SwiftLint; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - ); - outputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "if [ -z \"$CI\" ]; then\n ${PODS_ROOT}/SwiftLint/swiftlint\nfi"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks.sh\"\n"; + showEnvVarsInLog = 0; }; - D98D46E06B225A3FDFF2D018 /* [CP] Check Pods Manifest.lock */ = { + C47DB1DA07D151B79E83A2E4 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -866,14 +865,14 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-sampleTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-sample-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - EF3878B82E1CD4611A640906 /* SwiftFormat Lint */ = { + CF26733D03C8D33F8823EE1F /* SwiftLint */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -882,33 +881,34 @@ ); inputPaths = ( ); - name = "SwiftFormat Lint"; + name = SwiftLint; outputFileListPaths = ( ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "if [ -z \"$CI\" ]; then\n \"${PODS_ROOT}/SwiftFormat/CommandLineTool/swiftformat\" \"$SRCROOT\" --lint --lenient\nfi"; + shellScript = "if [ -z \"$CI\" ]; then\n ${PODS_ROOT}/SwiftLint/swiftlint\nfi"; }; - EFF0D4F73769824EA9E7BADC /* [CP] Embed Pods Frameworks */ = { + EF3878B82E1CD4611A640906 /* SwiftFormat Lint */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + ); + name = "SwiftFormat Lint"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks.sh\"\n"; - showEnvVarsInLog = 0; + shellScript = "if [ -z \"$CI\" ]; then\n \"${PODS_ROOT}/SwiftFormat/CommandLineTool/swiftformat\" \"$SRCROOT\" --lint --lenient\nfi"; }; - FF09BFE48336B50C52B70FA3 /* [CP] Check Pods Manifest.lock */ = { + F799C38FFC9B5D7A5850A1D2 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -923,7 +923,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-sample-sampleKIFUITests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-sampleTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -989,7 +989,7 @@ /* Begin XCBuildConfiguration section */ 21ACBFF0B81C5FE1926420D2 /* Debug Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CCB22E684B15239B5011E7F5 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */; + baseConfigurationReference = 879E0B1F8677418C34270EB5 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1014,7 +1014,7 @@ }; 252EA76B363BC50D825D8BD6 /* Debug Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7DF9A234C3581A05901FC6CA /* Pods-sampleTests.debug staging.xcconfig */; + baseConfigurationReference = 29A3C11FB7D567146C40DEF5 /* Pods-sampleTests.debug staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1039,7 +1039,7 @@ }; 388E6BE620787A06CA1CA7EE /* Release Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AC7CC61EAEB2F6D681BBEBA6 /* Pods-sample.release staging.xcconfig */; + baseConfigurationReference = 3D9869EABC86E17F874E56D6 /* Pods-sample.release staging.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1063,7 +1063,7 @@ }; 38F81F703A83D6A307430059 /* Release Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A8BE3589AD918C9C528BB08B /* Pods-sample-sampleKIFUITests.release production.xcconfig */; + baseConfigurationReference = E436191F6B76220C5310E670 /* Pods-sample-sampleKIFUITests.release production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1087,7 +1087,7 @@ }; 3BEDFE87FC2F0AE206422087 /* Release Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E9392B1DC70A3B9D0E13ED13 /* Pods-sampleTests.release production.xcconfig */; + baseConfigurationReference = 4B17780E8B80545B2388218B /* Pods-sampleTests.release production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1111,7 +1111,7 @@ }; 3E22885F8CD58F60301062E2 /* Release Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AE9901FD8CF2FFBD0BBC3214 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */; + baseConfigurationReference = 0F491CE53756C9828B5CABC6 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1135,7 +1135,7 @@ }; 4C1D6824327C0FD7CA0FD5EA /* Release Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E13680DF245C98E90E276EB9 /* Pods-sample.release production.xcconfig */; + baseConfigurationReference = D73070D739B05C83395F9F77 /* Pods-sample.release production.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1218,7 +1218,7 @@ }; 65EFF1C45B23F50B02803EAD /* Debug Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 5CE28693E8BE9C4CC41DEC10 /* Pods-sample.debug staging.xcconfig */; + baseConfigurationReference = DC055C0A4C5D4E66DD3974DC /* Pods-sample.debug staging.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1243,7 +1243,7 @@ }; 944F5AFF63FDFD18DB25D45F /* Debug Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 848CD542974644280350051C /* Pods-sample.debug production.xcconfig */; + baseConfigurationReference = A331B95DB9124745C182B4AD /* Pods-sample.debug production.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1268,7 +1268,7 @@ }; A6CE62F8A695FBBC221E4690 /* Debug Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1F14313FB3B4FAAE1FD16E1A /* Pods-sampleTests.debug production.xcconfig */; + baseConfigurationReference = D3EF31144033F2293FB5905E /* Pods-sampleTests.debug production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1293,7 +1293,7 @@ }; B7E6733E7030283A3E74681B /* Debug Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1060DCCDD44672BC5ED2DBFC /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */; + baseConfigurationReference = 4F892EC38D36135735F7B0CE /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1371,7 +1371,7 @@ }; BD91BBB9D406D96A13EB8291 /* Release Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CD16504C8453215874D2D65A /* Pods-sampleTests.release staging.xcconfig */; + baseConfigurationReference = B2AF0BE6E6F1FD096346C7DA /* Pods-sampleTests.release staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; diff --git a/sample/ios/sample/Configurations/XCConfigs/DebugProduction.xcconfig b/sample/ios/sample/Configurations/XCConfigs/DebugProduction.xcconfig index 9eaab57c..d65506a6 100644 --- a/sample/ios/sample/Configurations/XCConfigs/DebugProduction.xcconfig +++ b/sample/ios/sample/Configurations/XCConfigs/DebugProduction.xcconfig @@ -8,6 +8,6 @@ SWIFT_OPTIMIZATION_LEVEL = -Onone GCC_PREPROCESSOR_DEFINITIONS = $(inherited) DEBUG=1 PRODUCTION=1 PRODUCT_NAME = $(TARGET_NAME) -PRODUCT_BUNDLE_IDENTIFIER = co.nimblehq.kmm.template +PRODUCT_BUNDLE_IDENTIFIER = co.nimblehq.kmm.sample SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG PRODUCTION OTHER_SWIFT_FLAGS = $(inherited) -Xfrontend -warn-long-expression-type-checking=300 -Xfrontend -warn-long-function-bodies=300 diff --git a/sample/ios/sample/Configurations/XCConfigs/DebugStaging.xcconfig b/sample/ios/sample/Configurations/XCConfigs/DebugStaging.xcconfig index a2c1330b..84b1619b 100644 --- a/sample/ios/sample/Configurations/XCConfigs/DebugStaging.xcconfig +++ b/sample/ios/sample/Configurations/XCConfigs/DebugStaging.xcconfig @@ -8,6 +8,6 @@ SWIFT_OPTIMIZATION_LEVEL = -Onone GCC_PREPROCESSOR_DEFINITIONS = $(inherited) DEBUG=1 STAGING=1 PRODUCT_NAME = $(TARGET_NAME) Staging -PRODUCT_BUNDLE_IDENTIFIER = co.nimblehq.kmm.template.staging +PRODUCT_BUNDLE_IDENTIFIER = co.nimblehq.kmm.sample.staging SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG STAGING OTHER_SWIFT_FLAGS = $(inherited) -Xfrontend -warn-long-expression-type-checking=300 -Xfrontend -warn-long-function-bodies=300 diff --git a/sample/ios/sample/Configurations/XCConfigs/ReleaseProduction.xcconfig b/sample/ios/sample/Configurations/XCConfigs/ReleaseProduction.xcconfig index c7d0e2bc..200bac37 100644 --- a/sample/ios/sample/Configurations/XCConfigs/ReleaseProduction.xcconfig +++ b/sample/ios/sample/Configurations/XCConfigs/ReleaseProduction.xcconfig @@ -7,5 +7,5 @@ ENABLE_BITCODE = NO GCC_PREPROCESSOR_DEFINITIONS = $(inherited) PRODUCTION=1 PRODUCT_NAME = $(TARGET_NAME) -PRODUCT_BUNDLE_IDENTIFIER = co.nimblehq.kmm.template +PRODUCT_BUNDLE_IDENTIFIER = co.nimblehq.kmm.sample SWIFT_ACTIVE_COMPILATION_CONDITIONS = PRODUCTION RELEASE diff --git a/sample/ios/sample/Configurations/XCConfigs/ReleaseStaging.xcconfig b/sample/ios/sample/Configurations/XCConfigs/ReleaseStaging.xcconfig index 7eea63ce..f4dafddd 100644 --- a/sample/ios/sample/Configurations/XCConfigs/ReleaseStaging.xcconfig +++ b/sample/ios/sample/Configurations/XCConfigs/ReleaseStaging.xcconfig @@ -8,5 +8,5 @@ ENABLE_BITCODE = NO ENABLE_BITCODE = NO GCC_PREPROCESSOR_DEFINITIONS = $(inherited) STAGING=1 PRODUCT_NAME = $(TARGET_NAME) Staging -PRODUCT_BUNDLE_IDENTIFIER = co.nimblehq.kmm.template.staging +PRODUCT_BUNDLE_IDENTIFIER = co.nimblehq.kmm.sample.staging SWIFT_ACTIVE_COMPILATION_CONDITIONS = STAGING RELEASE From 6991848e892e851eb888f4979c7be73dcb168be9 Mon Sep 17 00:00:00 2001 From: "Luong Vo (Lucas)" Date: Wed, 1 Nov 2023 17:38:49 +0700 Subject: [PATCH 04/25] [#30] Create a script to generate shared module --- README.md | 1 + make.sh | 3 + scripts/make_shared.kts | 228 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 232 insertions(+) create mode 100644 scripts/make_shared.kts diff --git a/README.md b/README.md index e2d04a41..7e2b3e52 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ TODO ### Prerequisites - [JDK](https://www.oracle.com/java/technologies/javase-downloads.html): Java 17 +- [Kscript](https://github.com/holgerbrandl/kscript) v4.0.3 or later. - [Android Studio](https://developer.android.com/studio) with [Kotlin Multiplatform Mobile plugin](https://kotlinlang.org/docs/multiplatform-mobile-plugin-releases.html) - [Xcode](https://apps.apple.com/us/app/xcode/id497799835) 13.3+ diff --git a/make.sh b/make.sh index 51040e27..c6a8e487 100755 --- a/make.sh +++ b/make.sh @@ -113,6 +113,9 @@ sh make_ios.sh -b ${bundle_id_production} -s ${bundle_id_staging} -n ${project_ # Generate Android module sh make_android.sh -b ${bundle_id_production} -n ${project_name} +# Generate Shared module +kscript scripts/make_shared.kts package-name=${bundle_id_production} app-name=${project_name} destination=sample + # Clone all project files to the "sample" directory echo "=> Clone all project files to the "sample" directory" rsync -av \ diff --git a/scripts/make_shared.kts b/scripts/make_shared.kts new file mode 100644 index 00000000..4cafa70c --- /dev/null +++ b/scripts/make_shared.kts @@ -0,0 +1,228 @@ +import java.io.File +import java.util.Properties + +object NewProject { + + private const val DELIMITER_ARGUMENT = "=" + + private const val KEY_APP_NAME = "app-name" + private const val KEY_DESTINATION = "destination" + private const val KEY_PACKAGE_NAME = "package-name" + + private const val PATTERN_APP = "^([A-Z][a-zA-Z0-9\\s]*)|([a-z][a-z0-9-]*)$" + private const val PATTERN_PACKAGE = "^[a-z]+(\\.[a-z][a-z0-9]*)+$" + + private const val SCRIPTS_FOLDER_NAME = "scripts" + private const val SEPARATOR_DOT = "." + private const val SEPARATOR_MINUS = "-" + private const val SEPARATOR_SPACE = " " + + private const val TEMPLATE_APP_NAME = "Template Compose" + private const val TEMPLATE_PACKAGE_NAME = "co.nimblehq.template.compose" + + private val modules = listOf("shared") + + private val fileSeparator = File.separator + + private var appName: String = "" + set(value) { + field = if (value.contains(SEPARATOR_MINUS)) { + projectFolderName = value + value.replace(SEPARATOR_MINUS, SEPARATOR_SPACE).uppercaseEveryFirstCharacter() + } else { + value.uppercaseEveryFirstCharacter().also { + projectFolderName = it.getStringWithoutSpace() + } + } + } + + private var packageName = "" + + private var destination = rootPath + + private var projectFolderName: String = "" + + private val projectPath: String + get() = destination + projectFolderName + + private val rootPath: String + get() = System.getProperty("user.dir").let { userDir -> + if (userDir.endsWith("$fileSeparator$SCRIPTS_FOLDER_NAME")) { + userDir.substring(0, userDir.lastIndexOf(SCRIPTS_FOLDER_NAME)) + } else { + "$userDir$fileSeparator" + } + } + + private val templatePackageName + get() = TEMPLATE_PACKAGE_NAME + + private val templateAppName + get() = TEMPLATE_APP_NAME + + fun generate(args: Array) { + initializeNewProjectFolder() + renamePackageNameFolders() + renamePackageNameWithinFiles() + renameAppName() + } + + private fun handleArguments(args: Array) { + args.forEach { arg -> + when { + arg.startsWith("$KEY_APP_NAME$DELIMITER_ARGUMENT") -> { + val (key, value) = arg.split(DELIMITER_ARGUMENT) + appName = value.trim() + } + arg.startsWith("$KEY_PACKAGE_NAME$DELIMITER_ARGUMENT") -> { + val (key, value) = arg.split(DELIMITER_ARGUMENT) + packageName = value.trim() + } + } + } + } + + private fun initializeNewProjectFolder() { + showMessage("=> 🐢 Initializing new project...") + copyFiles(fromPath = rootPath + "shared", toPath = projectPath) + // Set gradlew file as executable, because copying files from one folder to another doesn't copy file permissions correctly (= read, write & execute). + File(projectPath + fileSeparator + "gradlew")?.setExecutable(true) + } + + private fun renamePackageNameFolders() { + showMessage("=> 🔎 Renaming the package folders...") + modules.forEach { module -> + val srcPath = projectPath + fileSeparator + module + fileSeparator + "src" + File(srcPath) + .walk() + .maxDepth(2) + .filter { it.isDirectory && it.name == "java" } + .forEach { javaDirectory -> + val oldDirectory = File( + javaDirectory, templatePackageName.replace( + oldValue = SEPARATOR_DOT, + newValue = fileSeparator + ) + ) + val newDirectory = File( + javaDirectory, packageName.replace( + oldValue = SEPARATOR_DOT, + newValue = fileSeparator + ) + ) + + val tempDirectory = File(javaDirectory, "temp_directory") + copyFiles( + fromPath = oldDirectory.absolutePath, + toPath = tempDirectory.absolutePath + ) + oldDirectory.parentFile?.parentFile?.deleteRecursively() + newDirectory.mkdirs() + copyFiles( + fromPath = tempDirectory.absolutePath, + toPath = newDirectory.absolutePath + ) + tempDirectory.deleteRecursively() + } + } + } + + private fun renamePackageNameWithinFiles() { + showMessage("=> 🔎 Renaming package name within files...") + File(projectPath) + .walk() + .filter { it.name.endsWithAny(".kt", ".xml", ".gradle.kts") } + .forEach { filePath -> + replace( + sourcePath = filePath.toString(), + oldValue = templatePackageName, + newValue = packageName + ) + } + } + + private fun copyFiles(fromPath: String, toPath: String) { + val targetFolder = File(toPath) + val sourceFolder = File(fromPath) + sourceFolder.copyRecursively(targetFolder, true) { file, exception -> + showMessage( + message = "${exception?.message ?: "Error copying files"}", + isError = true, + ) + return@copyRecursively OnErrorAction.TERMINATE + } + } + + private fun renameAppName() { + showMessage("=> 🔎 Renaming app name...") + File(projectPath) + .walk() + .filter { it.name == "strings.xml" } + .forEach { filePath -> + replace( + sourcePath = filePath.toString(), + oldValue = templateAppName, + newValue = appName + ) + } + File(projectPath) + .walk() + .filter { it.name == "settings.gradle.kts" } + .forEach { filePath -> + replace( + sourcePath = filePath.toString(), + oldValue = templateAppName, + newValue = appName + ) + } + } + + private fun replace(sourcePath: String, oldValue: String, newValue: String) { + val sourceFile = File(sourcePath) + var sourceText = sourceFile.readText() + sourceText = sourceText.replace(oldValue, newValue) + sourceFile.writeText(sourceText) + } + + private fun showMessage( + message: String, + exitAfterMessage: Boolean = false, + exitValue: Int = 0, + isError: Boolean = false, + ) { + println("\n${if (isError) "❌ " else ""}${message}\n") + if (exitAfterMessage) { + if (isError) { + exitWithError(exitValue) + } else { + System.exit(exitValue) + } + } + } + + private fun exitWithError(exitValue: Int = 0) { + if (projectFolderName.isNotBlank()) { + val file = File(projectPath) + if (file.exists()) { + file.deleteRecursively() + } + } + System.exit(exitValue) + } + + private fun String.uppercaseEveryFirstCharacter(): String { + return this.split(SEPARATOR_SPACE).joinToString(separator = SEPARATOR_SPACE) { string -> + string.replaceFirstChar { it.uppercase() } + } + } + + private fun String.getStringWithoutSpace(): String { + return this.replace(SEPARATOR_SPACE, "") + } + + private fun String.endsWithAny(vararg suffixes: String): Boolean { + return suffixes.any { endsWith(it) } + } +} + +NewProject.generate(args) From 35ab48e8f29d698d288c3fae4ef8b8d1c093c51f Mon Sep 17 00:00:00 2001 From: "Luong Vo (Lucas)" Date: Wed, 1 Nov 2023 17:44:07 +0700 Subject: [PATCH 05/25] [#30] Rename package & app name in the shared module --- make.sh | 8 +++-- scripts/make_shared.kts | 71 +++++++++++++++++++---------------------- 2 files changed, 37 insertions(+), 42 deletions(-) diff --git a/make.sh b/make.sh index c6a8e487..a882f8ec 100755 --- a/make.sh +++ b/make.sh @@ -113,9 +113,6 @@ sh make_ios.sh -b ${bundle_id_production} -s ${bundle_id_staging} -n ${project_ # Generate Android module sh make_android.sh -b ${bundle_id_production} -n ${project_name} -# Generate Shared module -kscript scripts/make_shared.kts package-name=${bundle_id_production} app-name=${project_name} destination=sample - # Clone all project files to the "sample" directory echo "=> Clone all project files to the "sample" directory" rsync -av \ @@ -127,5 +124,10 @@ rsync -av \ --exclude '/custom' \ --exclude '/android' \ --exclude '/sample' \ + --exclude '/scripts' \ + --exclude '/shared' \ ./ sample/ rsync -av ./android/sample/app/ sample/android/ + +# Generate Shared module +kscript scripts/make_shared.kts package-name=${bundle_id_production} app-name=${project_name} diff --git a/scripts/make_shared.kts b/scripts/make_shared.kts index 4cafa70c..6000d9ec 100644 --- a/scripts/make_shared.kts +++ b/scripts/make_shared.kts @@ -1,24 +1,19 @@ import java.io.File -import java.util.Properties object NewProject { private const val DELIMITER_ARGUMENT = "=" private const val KEY_APP_NAME = "app-name" - private const val KEY_DESTINATION = "destination" private const val KEY_PACKAGE_NAME = "package-name" - private const val PATTERN_APP = "^([A-Z][a-zA-Z0-9\\s]*)|([a-z][a-z0-9-]*)$" - private const val PATTERN_PACKAGE = "^[a-z]+(\\.[a-z][a-z0-9]*)+$" - private const val SCRIPTS_FOLDER_NAME = "scripts" private const val SEPARATOR_DOT = "." private const val SEPARATOR_MINUS = "-" private const val SEPARATOR_SPACE = " " - private const val TEMPLATE_APP_NAME = "Template Compose" - private const val TEMPLATE_PACKAGE_NAME = "co.nimblehq.template.compose" + private const val TEMPLATE_APP_NAME = "KMM_Template" + private const val TEMPLATE_PACKAGE_NAME = "co.nimblehq.kmm.template" private val modules = listOf("shared") @@ -27,23 +22,18 @@ object NewProject { private var appName: String = "" set(value) { field = if (value.contains(SEPARATOR_MINUS)) { - projectFolderName = value + projectPath = value value.replace(SEPARATOR_MINUS, SEPARATOR_SPACE).uppercaseEveryFirstCharacter() } else { value.uppercaseEveryFirstCharacter().also { - projectFolderName = it.getStringWithoutSpace() + projectPath = it.getStringWithoutSpace() } } } private var packageName = "" - private var destination = rootPath - - private var projectFolderName: String = "" - - private val projectPath: String - get() = destination + projectFolderName + private var projectPath: String = "" private val rootPath: String get() = System.getProperty("user.dir").let { userDir -> @@ -61,6 +51,7 @@ object NewProject { get() = TEMPLATE_APP_NAME fun generate(args: Array) { + handleArguments(args) initializeNewProjectFolder() renamePackageNameFolders() renamePackageNameWithinFiles() @@ -84,9 +75,9 @@ object NewProject { private fun initializeNewProjectFolder() { showMessage("=> 🐢 Initializing new project...") - copyFiles(fromPath = rootPath + "shared", toPath = projectPath) - // Set gradlew file as executable, because copying files from one folder to another doesn't copy file permissions correctly (= read, write & execute). - File(projectPath + fileSeparator + "gradlew")?.setExecutable(true) + modules.forEach { module -> + copyFiles(fromPath = rootPath + module, toPath = projectPath + fileSeparator + module) + } } private fun renamePackageNameFolders() { @@ -96,33 +87,35 @@ object NewProject { File(srcPath) .walk() .maxDepth(2) - .filter { it.isDirectory && it.name == "java" } - .forEach { javaDirectory -> + .filter { it.isDirectory } + .forEach { directory -> val oldDirectory = File( - javaDirectory, templatePackageName.replace( + directory, templatePackageName.replace( oldValue = SEPARATOR_DOT, newValue = fileSeparator ) ) - val newDirectory = File( - javaDirectory, packageName.replace( - oldValue = SEPARATOR_DOT, - newValue = fileSeparator + if (oldDirectory.exists()) { + val newDirectory = File( + directory, packageName.replace( + oldValue = SEPARATOR_DOT, + newValue = fileSeparator + ) ) - ) - val tempDirectory = File(javaDirectory, "temp_directory") - copyFiles( - fromPath = oldDirectory.absolutePath, - toPath = tempDirectory.absolutePath - ) - oldDirectory.parentFile?.parentFile?.deleteRecursively() - newDirectory.mkdirs() - copyFiles( - fromPath = tempDirectory.absolutePath, - toPath = newDirectory.absolutePath - ) - tempDirectory.deleteRecursively() + val tempDirectory = File(directory, "temp_directory") + copyFiles( + fromPath = oldDirectory.absolutePath, + toPath = tempDirectory.absolutePath + ) + oldDirectory.parentFile?.parentFile?.deleteRecursively() + newDirectory.mkdirs() + copyFiles( + fromPath = tempDirectory.absolutePath, + toPath = newDirectory.absolutePath + ) + tempDirectory.deleteRecursively() + } } } } @@ -201,7 +194,7 @@ object NewProject { } private fun exitWithError(exitValue: Int = 0) { - if (projectFolderName.isNotBlank()) { + if (projectPath.isNotBlank()) { val file = File(projectPath) if (file.exists()) { file.deleteRecursively() From 16a34a6014c082252e3f7ceb7a6f25c9e0e3b4ff Mon Sep 17 00:00:00 2001 From: team-nimblehq Date: Wed, 1 Nov 2023 17:09:24 +0000 Subject: [PATCH 06/25] [Chore] Generate & update sample project --- sample/README.md | 1 + sample/ios/Gemfile.lock | 2 +- sample/ios/sample.xcodeproj/project.pbxproj | 248 +++++++++--------- sample/settings.gradle.kts | 2 +- sample/shared/build.gradle.kts | 4 +- .../{template => sample}/Platform.android.kt | 2 +- .../di/modules/PlatformModule.kt | 2 +- .../kmm/{template => sample}/androidTest.kt | 2 +- .../kmm/{template => sample}/Greeting.kt | 2 +- .../kmm/{template => sample}/Platform.kt | 2 +- .../extensions/HttpRequestBuilderExtension.kt | 4 +- .../data/extensions/ResponseMapping.kt | 2 +- .../data/remote/ApiClient.kt | 4 +- .../remote/datasources/RemoteDataSource.kt | 6 +- .../data/remote/models/responses/Response.kt | 4 +- .../data/repositories/RepositoryImpl.kt | 16 ++ .../kmm/{template => sample}/di/Koin.kt | 4 +- .../di/modules/PlatformModule.kt | 2 +- .../kmm/sample/di/modules/RemoteModule.kt | 13 + .../di/modules/RepositoryModule.kt | 6 +- .../di/modules/UseCaseModule.kt | 6 +- .../domain/exceptions/ApiException.kt | 2 +- .../kmm/sample/domain/models/Model.kt | 5 + .../sample/domain/repositories/Repository.kt | 8 + .../domain/usecases/UseCase.kt | 6 +- .../data/repositories/RepositoryImpl.kt | 16 -- .../kmm/template/di/modules/RemoteModule.kt | 13 - .../kmm/template/domain/models/Model.kt | 5 - .../domain/repositories/Repository.kt | 8 - .../kmm/{template => sample}/commonTest.kt | 2 +- .../data/repositories/RepositoryTest.kt | 10 +- .../domain/usecases/UseCaseTest.kt | 6 +- .../extensions/ResponseMappingTest.kt | 6 +- .../co/nimblehq/kmm/sample/util/Fake.kt | 11 + .../co/nimblehq/kmm/template/util/Fake.kt | 11 - .../kmm/{template => sample}/Platform.ios.kt | 2 +- .../di/modules/PlatformModule.kt | 2 +- .../kmm/{template => sample}/iosTest.kt | 2 +- 38 files changed, 225 insertions(+), 224 deletions(-) rename sample/shared/src/androidMain/kotlin/co/nimblehq/kmm/{template => sample}/Platform.android.kt (83%) rename sample/shared/src/androidMain/kotlin/co/nimblehq/kmm/{template => sample}/di/modules/PlatformModule.kt (81%) rename sample/shared/src/androidUnitTest/kotlin/co/nimblehq/kmm/{template => sample}/androidTest.kt (86%) rename sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/{template => sample}/Greeting.kt (81%) rename sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/{template => sample}/Platform.kt (71%) rename sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/{template => sample}/data/extensions/HttpRequestBuilderExtension.kt (56%) rename sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/{template => sample}/data/extensions/ResponseMapping.kt (90%) rename sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/{template => sample}/data/remote/ApiClient.kt (95%) rename sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/{template => sample}/data/remote/datasources/RemoteDataSource.kt (62%) rename sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/{template => sample}/data/remote/models/responses/Response.kt (62%) create mode 100644 sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/repositories/RepositoryImpl.kt rename sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/{template => sample}/di/Koin.kt (83%) rename sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/{template => sample}/di/modules/PlatformModule.kt (62%) create mode 100644 sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/di/modules/RemoteModule.kt rename sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/{template => sample}/di/modules/RepositoryModule.kt (51%) rename sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/{template => sample}/di/modules/UseCaseModule.kt (52%) rename sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/{template => sample}/domain/exceptions/ApiException.kt (76%) create mode 100644 sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/domain/models/Model.kt create mode 100644 sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/domain/repositories/Repository.kt rename sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/{template => sample}/domain/usecases/UseCase.kt (59%) delete mode 100644 sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/repositories/RepositoryImpl.kt delete mode 100644 sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/di/modules/RemoteModule.kt delete mode 100644 sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/domain/models/Model.kt delete mode 100644 sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/domain/repositories/Repository.kt rename sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/{template => sample}/commonTest.kt (86%) rename sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/{template => sample}/data/repositories/RepositoryTest.kt (81%) rename sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/{template => sample}/domain/usecases/UseCaseTest.kt (89%) rename sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/{template => sample}/extensions/ResponseMappingTest.kt (83%) create mode 100644 sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/sample/util/Fake.kt delete mode 100644 sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/template/util/Fake.kt rename sample/shared/src/iosMain/kotlin/co/nimblehq/kmm/{template => sample}/Platform.ios.kt (87%) rename sample/shared/src/iosMain/kotlin/co/nimblehq/kmm/{template => sample}/di/modules/PlatformModule.kt (80%) rename sample/shared/src/iosTest/kotlin/co/nimblehq/kmm/{template => sample}/iosTest.kt (86%) diff --git a/sample/README.md b/sample/README.md index e2d04a41..7e2b3e52 100644 --- a/sample/README.md +++ b/sample/README.md @@ -11,6 +11,7 @@ TODO ### Prerequisites - [JDK](https://www.oracle.com/java/technologies/javase-downloads.html): Java 17 +- [Kscript](https://github.com/holgerbrandl/kscript) v4.0.3 or later. - [Android Studio](https://developer.android.com/studio) with [Kotlin Multiplatform Mobile plugin](https://kotlinlang.org/docs/multiplatform-mobile-plugin-releases.html) - [Xcode](https://apps.apple.com/us/app/xcode/id497799835) 13.3+ diff --git a/sample/ios/Gemfile.lock b/sample/ios/Gemfile.lock index f1fd300e..335c0137 100644 --- a/sample/ios/Gemfile.lock +++ b/sample/ios/Gemfile.lock @@ -368,4 +368,4 @@ DEPENDENCIES xcov BUNDLED WITH - 2.4.19 + 2.4.21 diff --git a/sample/ios/sample.xcodeproj/project.pbxproj b/sample/ios/sample.xcodeproj/project.pbxproj index 335fd768..0f6a0725 100644 --- a/sample/ios/sample.xcodeproj/project.pbxproj +++ b/sample/ios/sample.xcodeproj/project.pbxproj @@ -11,26 +11,26 @@ 0FCD70BBC15623E2843E571B /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = E4C58806C2B28AED0873F8AF /* .gitkeep */; }; 18B4C2A55909888C5D0EDFDA /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6432B427D5097BCF75C4B15E /* AppDelegate.swift */; }; 1F3B8CA45E426F2E4BA8A41C /* R.generated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EEB8F8EE4393D2D9AC51316 /* R.generated.swift */; }; - 1FF9740123925062BBA5F833 /* Pods_sample_sampleKIFUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D3331DB2709CCEFE900F012B /* Pods_sample_sampleKIFUITests.framework */; }; 20FF012BAC088FFC92962E28 /* UIView+Subviews.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDBCDCBA1D855D7023A0342F /* UIView+Subviews.swift */; }; + 21946DAB3EA6A02EEC0CA3D5 /* Pods_sample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B56BC4A4A2D4CBD5B317C520 /* Pods_sample.framework */; }; 33209CEB34C04BC32D0FFDD4 /* UseCaseFactoryProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CA52B4C8C3AF1CB2181C14D /* UseCaseFactoryProtocol.swift */; }; 3559AC5988194A4701902F80 /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = 302BB730B8D0BF901FF489B6 /* .gitkeep */; }; - 39892AEE764EE5D4DDE3E363 /* Pods_sample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C03AAC625843DC1434CDC9B /* Pods_sample.framework */; }; 53157A77A8B802D108AE9D73 /* Typealiases.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5B819017A28FE15B242BB5B /* Typealiases.swift */; }; 66C817ACCA7CE15ABF58BC06 /* HomeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBD1568B768046A18E011F2C /* HomeViewController.swift */; }; 701258D40CE69EC8168A3D12 /* AutoMockable.generated.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBF1B234787FCD92142B105D /* AutoMockable.generated.swift */; }; 7CF0F8933FB47F5D003383AA /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = 41210B648761A8DC4ABD3BB9 /* .gitkeep */; }; 7ED0E12DA355DEE8EED0B614 /* Color+Application.swift in Sources */ = {isa = PBXBuildFile; fileRef = A29F97F67192DE9B66E872E6 /* Color+Application.swift */; }; 840CF0D3913B0069F0F2FF12 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D2F657F289C5314152FFCFA2 /* Assets.xcassets */; }; + 867AF73A050FA8912BE8DCCB /* Pods_sample_sampleKIFUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7E585746E13503AC2F2C73BC /* Pods_sample_sampleKIFUITests.framework */; }; 8A43095CEA3F4C83584AB199 /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = 05F57F86A37A0E0B6CC54CB4 /* .gitkeep */; }; 9726C56684473F7E78415A58 /* Navigator+Scene.swift in Sources */ = {isa = PBXBuildFile; fileRef = A64B0E7B034D526205048030 /* Navigator+Scene.swift */; }; 9ACA6A5E938E3365302C3749 /* Navigator.swift in Sources */ = {isa = PBXBuildFile; fileRef = C159B27C88C08E8AEB22AFD4 /* Navigator.swift */; }; BA754F29AB917D745895322D /* Constants+API.swift in Sources */ = {isa = PBXBuildFile; fileRef = 222B1BD9F71FF1797F160231 /* Constants+API.swift */; }; - C0314198E31977A147166BEA /* Pods_sampleTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4F14AE6F7B0AF6F0974A37F5 /* Pods_sampleTests.framework */; }; C152F2B63E42238BE4F20592 /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82F5C2293A2DB24CDCA81957 /* Constants.swift */; }; CA324314BE7318252E4D5D62 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 6952456309E29C9609D23B3F /* LaunchScreen.storyboard */; }; D609A7DCE8B3E7A49CFACC2E /* Navigator+Transition.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9816C413C0D0DD7B01BA9CE /* Navigator+Transition.swift */; }; DE665FDD6164065A881A2F44 /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = 67C0EA707F4FBB459FEBA640 /* .gitkeep */; }; + F133E77B8193B9B1AD045D85 /* Pods_sampleTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC3407111872AEC13023C1A4 /* Pods_sampleTests.framework */; }; F444409E14F8ED6BF6A2666A /* KIF+Swift.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFAE58D40BFE459B1184D994 /* KIF+Swift.swift */; }; F858855AD6392D182B853A79 /* Optional+Unwrap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 562EF605C844B951CD47F38D /* Optional+Unwrap.swift */; }; /* End PBXBuildFile section */ @@ -88,45 +88,45 @@ /* Begin PBXFileReference section */ 04B8796D7472561BF8EB10A1 /* DebugProduction.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = DebugProduction.xcconfig; sourceTree = ""; }; 05F57F86A37A0E0B6CC54CB4 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; - 0F491CE53756C9828B5CABC6 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release staging.xcconfig"; sourceTree = ""; }; + 0BCF19A5375E93BF9C942225 /* Pods-sample.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release staging.xcconfig"; sourceTree = ""; }; + 0E7E6676709AED47520348BC /* Pods-sampleTests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release staging.xcconfig"; sourceTree = ""; }; 18C176717B282B7A8842FC73 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 19B1D01C0FFDEFDD3F05342A /* Pods-sampleTests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug production.xcconfig"; sourceTree = ""; }; 1EEB8F8EE4393D2D9AC51316 /* R.generated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = R.generated.swift; sourceTree = ""; }; 222B1BD9F71FF1797F160231 /* Constants+API.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Constants+API.swift"; sourceTree = ""; }; - 29A3C11FB7D567146C40DEF5 /* Pods-sampleTests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug staging.xcconfig"; sourceTree = ""; }; - 2C03AAC625843DC1434CDC9B /* Pods_sample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 2927BAB1011DB30431608F64 /* Pods-sampleTests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release production.xcconfig"; sourceTree = ""; }; 302BB730B8D0BF901FF489B6 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; - 3D9869EABC86E17F874E56D6 /* Pods-sample.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release staging.xcconfig"; sourceTree = ""; }; + 38A8A2CC447536E67C385186 /* Pods-sample.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug staging.xcconfig"; sourceTree = ""; }; 41210B648761A8DC4ABD3BB9 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; 414B86B12605C252A692EA37 /* sampleKIFUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = sampleKIFUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 4B17780E8B80545B2388218B /* Pods-sampleTests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release production.xcconfig"; sourceTree = ""; }; - 4F14AE6F7B0AF6F0974A37F5 /* Pods_sampleTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sampleTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 4F892EC38D36135735F7B0CE /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug staging.xcconfig"; sourceTree = ""; }; 562EF605C844B951CD47F38D /* Optional+Unwrap.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Optional+Unwrap.swift"; sourceTree = ""; }; + 606171EF11F973892AEAB8DA /* Pods-sample.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug production.xcconfig"; sourceTree = ""; }; + 62B6171C4C91813ECB1DF75E /* Pods-sample.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release production.xcconfig"; sourceTree = ""; }; 6432B427D5097BCF75C4B15E /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 67C0EA707F4FBB459FEBA640 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; 6952456309E29C9609D23B3F /* LaunchScreen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = ""; }; + 6F080B23C7178CD2CFC2B05A /* Pods-sample-sampleKIFUITests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release production.xcconfig"; sourceTree = ""; }; + 7E585746E13503AC2F2C73BC /* Pods_sample_sampleKIFUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample_sampleKIFUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 82F5C2293A2DB24CDCA81957 /* Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = ""; }; - 879E0B1F8677418C34270EB5 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug production.xcconfig"; sourceTree = ""; }; 8CA52B4C8C3AF1CB2181C14D /* UseCaseFactoryProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UseCaseFactoryProtocol.swift; sourceTree = ""; }; + 9A4BBFF97444287D71ED302D /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug staging.xcconfig"; sourceTree = ""; }; A29F97F67192DE9B66E872E6 /* Color+Application.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Color+Application.swift"; sourceTree = ""; }; - A331B95DB9124745C182B4AD /* Pods-sample.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug production.xcconfig"; sourceTree = ""; }; A64B0E7B034D526205048030 /* Navigator+Scene.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Navigator+Scene.swift"; sourceTree = ""; }; ADE63A1C257C06E1D05C8136 /* DebugStaging.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = DebugStaging.xcconfig; sourceTree = ""; }; - B2AF0BE6E6F1FD096346C7DA /* Pods-sampleTests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release staging.xcconfig"; sourceTree = ""; }; + AE0CF0C245FB9943531EF761 /* Pods-sampleTests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug staging.xcconfig"; sourceTree = ""; }; + B146DF93DCB999E8F123622F /* Pods-sample-sampleKIFUITests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug production.xcconfig"; sourceTree = ""; }; + B56BC4A4A2D4CBD5B317C520 /* Pods_sample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; B8847183C3FF3D70FE4192CD /* sampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = sampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; BBD1568B768046A18E011F2C /* HomeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeViewController.swift; sourceTree = ""; }; BBF1B234787FCD92142B105D /* AutoMockable.generated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutoMockable.generated.swift; sourceTree = ""; }; BD9D9C9A495C5EA0AE9039C6 /* ReleaseProduction.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = ReleaseProduction.xcconfig; sourceTree = ""; }; C159B27C88C08E8AEB22AFD4 /* Navigator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Navigator.swift; sourceTree = ""; }; + C536E515E432EEB5FBE11437 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release staging.xcconfig"; sourceTree = ""; }; CD3A7C3AC94E15DEC4F12A85 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; CDBCDCBA1D855D7023A0342F /* UIView+Subviews.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIView+Subviews.swift"; sourceTree = ""; }; D2D7345A2017D2D372785123 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; D2F657F289C5314152FFCFA2 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - D3331DB2709CCEFE900F012B /* Pods_sample_sampleKIFUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample_sampleKIFUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D3EF31144033F2293FB5905E /* Pods-sampleTests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug production.xcconfig"; sourceTree = ""; }; - D73070D739B05C83395F9F77 /* Pods-sample.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release production.xcconfig"; sourceTree = ""; }; - DC055C0A4C5D4E66DD3974DC /* Pods-sample.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug staging.xcconfig"; sourceTree = ""; }; - E436191F6B76220C5310E670 /* Pods-sample-sampleKIFUITests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release production.xcconfig"; sourceTree = ""; }; + DC3407111872AEC13023C1A4 /* Pods_sampleTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sampleTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; E4C58806C2B28AED0873F8AF /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; EFAE58D40BFE459B1184D994 /* KIF+Swift.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "KIF+Swift.swift"; sourceTree = ""; }; EFE5D281FD0FFFF44FC92B04 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; @@ -141,7 +141,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1FF9740123925062BBA5F833 /* Pods_sample_sampleKIFUITests.framework in Frameworks */, + 867AF73A050FA8912BE8DCCB /* Pods_sample_sampleKIFUITests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -149,7 +149,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - C0314198E31977A147166BEA /* Pods_sampleTests.framework in Frameworks */, + F133E77B8193B9B1AD045D85 /* Pods_sampleTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -157,7 +157,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 39892AEE764EE5D4DDE3E363 /* Pods_sample.framework in Frameworks */, + 21946DAB3EA6A02EEC0CA3D5 /* Pods_sample.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -190,26 +190,6 @@ path = Modules; sourceTree = ""; }; - 120F011B8464058CB9A0BE24 /* Pods */ = { - isa = PBXGroup; - children = ( - A331B95DB9124745C182B4AD /* Pods-sample.debug production.xcconfig */, - DC055C0A4C5D4E66DD3974DC /* Pods-sample.debug staging.xcconfig */, - D73070D739B05C83395F9F77 /* Pods-sample.release production.xcconfig */, - 3D9869EABC86E17F874E56D6 /* Pods-sample.release staging.xcconfig */, - 879E0B1F8677418C34270EB5 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */, - 4F892EC38D36135735F7B0CE /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */, - E436191F6B76220C5310E670 /* Pods-sample-sampleKIFUITests.release production.xcconfig */, - 0F491CE53756C9828B5CABC6 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */, - D3EF31144033F2293FB5905E /* Pods-sampleTests.debug production.xcconfig */, - 29A3C11FB7D567146C40DEF5 /* Pods-sampleTests.debug staging.xcconfig */, - 4B17780E8B80545B2388218B /* Pods-sampleTests.release production.xcconfig */, - B2AF0BE6E6F1FD096346C7DA /* Pods-sampleTests.release staging.xcconfig */, - ); - name = Pods; - path = Pods; - sourceTree = ""; - }; 2003C041305A8015968A9294 /* Plists */ = { isa = PBXGroup; children = ( @@ -281,9 +261,9 @@ 52B072A663159D9D007D540F /* Frameworks */ = { isa = PBXGroup; children = ( - 2C03AAC625843DC1434CDC9B /* Pods_sample.framework */, - D3331DB2709CCEFE900F012B /* Pods_sample_sampleKIFUITests.framework */, - 4F14AE6F7B0AF6F0974A37F5 /* Pods_sampleTests.framework */, + B56BC4A4A2D4CBD5B317C520 /* Pods_sample.framework */, + 7E585746E13503AC2F2C73BC /* Pods_sample_sampleKIFUITests.framework */, + DC3407111872AEC13023C1A4 /* Pods_sampleTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -318,7 +298,7 @@ 9B7CF20BE2915B62911C62AA /* Project */, 52B072A663159D9D007D540F /* Frameworks */, 372816F20EC291B850EECF1F /* Products */, - 120F011B8464058CB9A0BE24 /* Pods */, + BF7A39BC9D379A9BB0D598A3 /* Pods */, ); sourceTree = ""; }; @@ -469,6 +449,26 @@ path = Sources; sourceTree = ""; }; + BF7A39BC9D379A9BB0D598A3 /* Pods */ = { + isa = PBXGroup; + children = ( + 606171EF11F973892AEAB8DA /* Pods-sample.debug production.xcconfig */, + 38A8A2CC447536E67C385186 /* Pods-sample.debug staging.xcconfig */, + 62B6171C4C91813ECB1DF75E /* Pods-sample.release production.xcconfig */, + 0BCF19A5375E93BF9C942225 /* Pods-sample.release staging.xcconfig */, + B146DF93DCB999E8F123622F /* Pods-sample-sampleKIFUITests.debug production.xcconfig */, + 9A4BBFF97444287D71ED302D /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */, + 6F080B23C7178CD2CFC2B05A /* Pods-sample-sampleKIFUITests.release production.xcconfig */, + C536E515E432EEB5FBE11437 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */, + 19B1D01C0FFDEFDD3F05342A /* Pods-sampleTests.debug production.xcconfig */, + AE0CF0C245FB9943531EF761 /* Pods-sampleTests.debug staging.xcconfig */, + 2927BAB1011DB30431608F64 /* Pods-sampleTests.release production.xcconfig */, + 0E7E6676709AED47520348BC /* Pods-sampleTests.release staging.xcconfig */, + ); + name = Pods; + path = Pods; + sourceTree = ""; + }; BFDB98DE7C2E759F6BF34977 /* UseCases */ = { isa = PBXGroup; children = ( @@ -570,7 +570,7 @@ isa = PBXNativeTarget; buildConfigurationList = 56FE2126489C1E87A2D918A3 /* Build configuration list for PBXNativeTarget "sample" */; buildPhases = ( - C47DB1DA07D151B79E83A2E4 /* [CP] Check Pods Manifest.lock */, + 686E2E282EDE9D3251BAE831 /* [CP] Check Pods Manifest.lock */, B2B621CC2B1F4F58601CD98D /* Sourcery */, 7EB246CFC1E0CCBA652DC37E /* R.swift */, CF26733D03C8D33F8823EE1F /* SwiftLint */, @@ -580,7 +580,7 @@ 494614C33B509301DBBDAD42 /* Embed Frameworks */, 89C77BA3C707AD804F79284B /* Frameworks */, 843C67A8A78058B8D8B3D11E /* Copy GoogleService-Info.plist */, - 9607753E18A8641B1BBAA13B /* [CP] Embed Pods Frameworks */, + C8AB47D41832EAC1071B05F3 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -595,12 +595,12 @@ isa = PBXNativeTarget; buildConfigurationList = 31E84C030BDB7A39BCE38D8C /* Build configuration list for PBXNativeTarget "sampleKIFUITests" */; buildPhases = ( - 99D9C7E06C1FA5EF308D07CA /* [CP] Check Pods Manifest.lock */, + 863BBDD7C3C0C1CF3CF1DB19 /* [CP] Check Pods Manifest.lock */, 21ADDF0B071B770FFB6A086A /* Sources */, 43218B877C978B4CA5B93235 /* Resources */, 392BFB718CBF57CF0D23848E /* Embed Frameworks */, 29CEF4F9FF315D4254B8BC69 /* Frameworks */, - C251DAA7AFFE9E397DF8FE7F /* [CP] Embed Pods Frameworks */, + A0412FC8DAD4BE37F820F07F /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -616,13 +616,13 @@ isa = PBXNativeTarget; buildConfigurationList = C3875EBB5A0F6612B3515A13 /* Build configuration list for PBXNativeTarget "sampleTests" */; buildPhases = ( - F799C38FFC9B5D7A5850A1D2 /* [CP] Check Pods Manifest.lock */, + 39FC727B9CFF4D96A65DC76C /* [CP] Check Pods Manifest.lock */, 2F7B6AB35D89AA83D514ECC2 /* SwiftFormat */, 9344943859735CAEA8DDB048 /* Sources */, E472A2AC48FE9588146AB254 /* Resources */, 51D3263E7013F91DCDB0D884 /* Embed Frameworks */, 7A7AFF7C6576A774E896CA81 /* Frameworks */, - 0101E7C29B51E0E61F940A35 /* [CP] Embed Pods Frameworks */, + D7D49C700E61AD934CB264D9 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -703,24 +703,25 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 0101E7C29B51E0E61F940A35 /* [CP] Embed Pods Frameworks */ = { + 2F7B6AB35D89AA83D514ECC2 /* SwiftFormat */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + ); + name = SwiftFormat; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks.sh\"\n"; - showEnvVarsInLog = 0; + shellScript = "if [ -z \"$CI\" ]; then\n \"${PODS_ROOT}/SwiftFormat/CommandLineTool/swiftformat\" \"$SRCROOT\"\nfi"; }; - 2F7B6AB35D89AA83D514ECC2 /* SwiftFormat */ = { + 39FC727B9CFF4D96A65DC76C /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -728,38 +729,45 @@ inputFileListPaths = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); - name = SwiftFormat; + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( ); outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-sampleTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "if [ -z \"$CI\" ]; then\n \"${PODS_ROOT}/SwiftFormat/CommandLineTool/swiftformat\" \"$SRCROOT\"\nfi"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - 7EB246CFC1E0CCBA652DC37E /* R.swift */ = { + 686E2E282EDE9D3251BAE831 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); - name = R.swift; + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( ); outputPaths = ( - "$SRCROOT/$PROJECT_NAME/Sources/Supports/Helpers/Rswift/R.generated.swift", + "$(DERIVED_FILE_DIR)/Pods-sample-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"$PODS_ROOT/R.swift/rswift\" generate \"$SRCROOT/$PROJECT_NAME/Sources/Supports/Helpers/Rswift/R.generated.swift\""; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - 843C67A8A78058B8D8B3D11E /* Copy GoogleService-Info.plist */ = { + 7EB246CFC1E0CCBA652DC37E /* R.swift */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); @@ -767,33 +775,35 @@ ); inputPaths = ( ); - name = "Copy GoogleService-Info.plist"; + name = R.swift; outputFileListPaths = ( ); outputPaths = ( + "$SRCROOT/$PROJECT_NAME/Sources/Supports/Helpers/Rswift/R.generated.swift", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "PATH_TO_GOOGLE_PLISTS=\"$SRCROOT/$PROJECT_NAME/Configurations/Plists/GoogleService\"\n\ncase \"${CONFIGURATION}\" in\n\"Debug Staging\" | \"Release Staging\" )\ncp -r \"$PATH_TO_GOOGLE_PLISTS/Staging/GoogleService-Info.plist\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist\"\n;;\n\"Debug Production\" | \"Release Production\" )\ncp -r \"$PATH_TO_GOOGLE_PLISTS/Production/GoogleService-Info.plist\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist\"\n;;\n*)\n;;\nesac"; + shellScript = "\"$PODS_ROOT/R.swift/rswift\" generate \"$SRCROOT/$PROJECT_NAME/Sources/Supports/Helpers/Rswift/R.generated.swift\""; }; - 9607753E18A8641B1BBAA13B /* [CP] Embed Pods Frameworks */ = { + 843C67A8A78058B8D8B3D11E /* Copy GoogleService-Info.plist */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + ); + name = "Copy GoogleService-Info.plist"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks.sh\"\n"; - showEnvVarsInLog = 0; + shellScript = "PATH_TO_GOOGLE_PLISTS=\"$SRCROOT/$PROJECT_NAME/Configurations/Plists/GoogleService\"\n\ncase \"${CONFIGURATION}\" in\n\"Debug Staging\" | \"Release Staging\" )\ncp -r \"$PATH_TO_GOOGLE_PLISTS/Staging/GoogleService-Info.plist\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist\"\n;;\n\"Debug Production\" | \"Release Production\" )\ncp -r \"$PATH_TO_GOOGLE_PLISTS/Production/GoogleService-Info.plist\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist\"\n;;\n*)\n;;\nesac"; }; - 99D9C7E06C1FA5EF308D07CA /* [CP] Check Pods Manifest.lock */ = { + 863BBDD7C3C0C1CF3CF1DB19 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -815,61 +825,56 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - B2B621CC2B1F4F58601CD98D /* Sourcery */ = { + A0412FC8DAD4BE37F820F07F /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - ); - name = Sourcery; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - ); - outputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"$PODS_ROOT/Sourcery/bin/sourcery\""; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks.sh\"\n"; + showEnvVarsInLog = 0; }; - C251DAA7AFFE9E397DF8FE7F /* [CP] Embed Pods Frameworks */ = { + B2B621CC2B1F4F58601CD98D /* Sourcery */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + ); + name = Sourcery; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks.sh\"\n"; - showEnvVarsInLog = 0; + shellScript = "\"$PODS_ROOT/Sourcery/bin/sourcery\""; }; - C47DB1DA07D151B79E83A2E4 /* [CP] Check Pods Manifest.lock */ = { + C8AB47D41832EAC1071B05F3 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-sample-checkManifestLockResult.txt", + "${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; CF26733D03C8D33F8823EE1F /* SwiftLint */ = { @@ -890,25 +895,24 @@ shellPath = /bin/sh; shellScript = "if [ -z \"$CI\" ]; then\n ${PODS_ROOT}/SwiftLint/swiftlint\nfi"; }; - EF3878B82E1CD4611A640906 /* SwiftFormat Lint */ = { + D7D49C700E61AD934CB264D9 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - ); - name = "SwiftFormat Lint"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - ); - outputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "if [ -z \"$CI\" ]; then\n \"${PODS_ROOT}/SwiftFormat/CommandLineTool/swiftformat\" \"$SRCROOT\" --lint --lenient\nfi"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks.sh\"\n"; + showEnvVarsInLog = 0; }; - F799C38FFC9B5D7A5850A1D2 /* [CP] Check Pods Manifest.lock */ = { + EF3878B82E1CD4611A640906 /* SwiftFormat Lint */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -916,19 +920,15 @@ inputFileListPaths = ( ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", ); - name = "[CP] Check Pods Manifest.lock"; + name = "SwiftFormat Lint"; outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-sampleTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "if [ -z \"$CI\" ]; then\n \"${PODS_ROOT}/SwiftFormat/CommandLineTool/swiftformat\" \"$SRCROOT\" --lint --lenient\nfi"; }; /* End PBXShellScriptBuildPhase section */ @@ -989,7 +989,7 @@ /* Begin XCBuildConfiguration section */ 21ACBFF0B81C5FE1926420D2 /* Debug Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 879E0B1F8677418C34270EB5 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */; + baseConfigurationReference = B146DF93DCB999E8F123622F /* Pods-sample-sampleKIFUITests.debug production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1014,7 +1014,7 @@ }; 252EA76B363BC50D825D8BD6 /* Debug Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 29A3C11FB7D567146C40DEF5 /* Pods-sampleTests.debug staging.xcconfig */; + baseConfigurationReference = AE0CF0C245FB9943531EF761 /* Pods-sampleTests.debug staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1039,7 +1039,7 @@ }; 388E6BE620787A06CA1CA7EE /* Release Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3D9869EABC86E17F874E56D6 /* Pods-sample.release staging.xcconfig */; + baseConfigurationReference = 0BCF19A5375E93BF9C942225 /* Pods-sample.release staging.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1063,7 +1063,7 @@ }; 38F81F703A83D6A307430059 /* Release Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E436191F6B76220C5310E670 /* Pods-sample-sampleKIFUITests.release production.xcconfig */; + baseConfigurationReference = 6F080B23C7178CD2CFC2B05A /* Pods-sample-sampleKIFUITests.release production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1087,7 +1087,7 @@ }; 3BEDFE87FC2F0AE206422087 /* Release Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4B17780E8B80545B2388218B /* Pods-sampleTests.release production.xcconfig */; + baseConfigurationReference = 2927BAB1011DB30431608F64 /* Pods-sampleTests.release production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1111,7 +1111,7 @@ }; 3E22885F8CD58F60301062E2 /* Release Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0F491CE53756C9828B5CABC6 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */; + baseConfigurationReference = C536E515E432EEB5FBE11437 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1135,7 +1135,7 @@ }; 4C1D6824327C0FD7CA0FD5EA /* Release Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D73070D739B05C83395F9F77 /* Pods-sample.release production.xcconfig */; + baseConfigurationReference = 62B6171C4C91813ECB1DF75E /* Pods-sample.release production.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1218,7 +1218,7 @@ }; 65EFF1C45B23F50B02803EAD /* Debug Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DC055C0A4C5D4E66DD3974DC /* Pods-sample.debug staging.xcconfig */; + baseConfigurationReference = 38A8A2CC447536E67C385186 /* Pods-sample.debug staging.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1243,7 +1243,7 @@ }; 944F5AFF63FDFD18DB25D45F /* Debug Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A331B95DB9124745C182B4AD /* Pods-sample.debug production.xcconfig */; + baseConfigurationReference = 606171EF11F973892AEAB8DA /* Pods-sample.debug production.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1268,7 +1268,7 @@ }; A6CE62F8A695FBBC221E4690 /* Debug Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D3EF31144033F2293FB5905E /* Pods-sampleTests.debug production.xcconfig */; + baseConfigurationReference = 19B1D01C0FFDEFDD3F05342A /* Pods-sampleTests.debug production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1293,7 +1293,7 @@ }; B7E6733E7030283A3E74681B /* Debug Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4F892EC38D36135735F7B0CE /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */; + baseConfigurationReference = 9A4BBFF97444287D71ED302D /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1371,7 +1371,7 @@ }; BD91BBB9D406D96A13EB8291 /* Release Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B2AF0BE6E6F1FD096346C7DA /* Pods-sampleTests.release staging.xcconfig */; + baseConfigurationReference = 0E7E6676709AED47520348BC /* Pods-sampleTests.release staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; diff --git a/sample/settings.gradle.kts b/sample/settings.gradle.kts index dcc8f23e..c64ad0f2 100644 --- a/sample/settings.gradle.kts +++ b/sample/settings.gradle.kts @@ -14,6 +14,6 @@ dependencyResolutionManagement { } } -rootProject.name = "KMM_Template" +rootProject.name = "Sample" include(":android") include(":shared") diff --git a/sample/shared/build.gradle.kts b/sample/shared/build.gradle.kts index b9cca8ba..6514794c 100644 --- a/sample/shared/build.gradle.kts +++ b/sample/shared/build.gradle.kts @@ -113,7 +113,7 @@ ksp { } android { - namespace = "co.nimblehq.kmm.template" + namespace = "co.nimblehq.kmm.sample" compileSdk = Versions.ANDROID_COMPILE_SDK defaultConfig { minSdk = Versions.ANDROID_MIN_SDK @@ -126,7 +126,7 @@ android { val buildKonfigProperties = loadProperties("$rootDir/buildKonfig.properties") buildkonfig { - packageName = "co.nimblehq.kmm.template" + packageName = "co.nimblehq.kmm.sample" // Default for Flavors.STAGING defaultConfigs { diff --git a/sample/shared/src/androidMain/kotlin/co/nimblehq/kmm/template/Platform.android.kt b/sample/shared/src/androidMain/kotlin/co/nimblehq/kmm/sample/Platform.android.kt similarity index 83% rename from sample/shared/src/androidMain/kotlin/co/nimblehq/kmm/template/Platform.android.kt rename to sample/shared/src/androidMain/kotlin/co/nimblehq/kmm/sample/Platform.android.kt index 51a2ff66..e88904ba 100644 --- a/sample/shared/src/androidMain/kotlin/co/nimblehq/kmm/template/Platform.android.kt +++ b/sample/shared/src/androidMain/kotlin/co/nimblehq/kmm/sample/Platform.android.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.template +package co.nimblehq.kmm.sample class AndroidPlatform : Platform { override val name: String = "Android ${android.os.Build.VERSION.SDK_INT}" diff --git a/sample/shared/src/androidMain/kotlin/co/nimblehq/kmm/template/di/modules/PlatformModule.kt b/sample/shared/src/androidMain/kotlin/co/nimblehq/kmm/sample/di/modules/PlatformModule.kt similarity index 81% rename from sample/shared/src/androidMain/kotlin/co/nimblehq/kmm/template/di/modules/PlatformModule.kt rename to sample/shared/src/androidMain/kotlin/co/nimblehq/kmm/sample/di/modules/PlatformModule.kt index 78fdf537..70cace31 100644 --- a/sample/shared/src/androidMain/kotlin/co/nimblehq/kmm/template/di/modules/PlatformModule.kt +++ b/sample/shared/src/androidMain/kotlin/co/nimblehq/kmm/sample/di/modules/PlatformModule.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.template.di.modules +package co.nimblehq.kmm.sample.di.modules import io.ktor.client.engine.android.Android import org.koin.core.module.Module diff --git a/sample/shared/src/androidUnitTest/kotlin/co/nimblehq/kmm/template/androidTest.kt b/sample/shared/src/androidUnitTest/kotlin/co/nimblehq/kmm/sample/androidTest.kt similarity index 86% rename from sample/shared/src/androidUnitTest/kotlin/co/nimblehq/kmm/template/androidTest.kt rename to sample/shared/src/androidUnitTest/kotlin/co/nimblehq/kmm/sample/androidTest.kt index 900b0bb6..d3a01c75 100644 --- a/sample/shared/src/androidUnitTest/kotlin/co/nimblehq/kmm/template/androidTest.kt +++ b/sample/shared/src/androidUnitTest/kotlin/co/nimblehq/kmm/sample/androidTest.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.template +package co.nimblehq.kmm.sample import org.junit.Assert.assertTrue import org.junit.Test diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/Greeting.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/Greeting.kt similarity index 81% rename from sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/Greeting.kt rename to sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/Greeting.kt index 29c43a71..7ce8b67e 100644 --- a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/Greeting.kt +++ b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/Greeting.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.template +package co.nimblehq.kmm.sample class Greeting { private val platform: Platform = getPlatform() diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/Platform.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/Platform.kt similarity index 71% rename from sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/Platform.kt rename to sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/Platform.kt index 33753afa..36d914c0 100644 --- a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/Platform.kt +++ b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/Platform.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.template +package co.nimblehq.kmm.sample interface Platform { val name: String diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/extensions/HttpRequestBuilderExtension.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/extensions/HttpRequestBuilderExtension.kt similarity index 56% rename from sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/extensions/HttpRequestBuilderExtension.kt rename to sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/extensions/HttpRequestBuilderExtension.kt index dc7b89d4..8b5acc42 100644 --- a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/extensions/HttpRequestBuilderExtension.kt +++ b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/extensions/HttpRequestBuilderExtension.kt @@ -1,6 +1,6 @@ -package co.nimblehq.kmm.template.data.extensions +package co.nimblehq.kmm.sample.data.extensions -import co.nimblehq.kmm.template.BuildKonfig +import co.nimblehq.kmm.sample.BuildKonfig import io.ktor.client.request.* fun HttpRequestBuilder.path(path: String) { diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/extensions/ResponseMapping.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/extensions/ResponseMapping.kt similarity index 90% rename from sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/extensions/ResponseMapping.kt rename to sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/extensions/ResponseMapping.kt index 420f451a..a9c2b7db 100644 --- a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/extensions/ResponseMapping.kt +++ b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/extensions/ResponseMapping.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.template.data.extensions +package co.nimblehq.kmm.sample.data.extensions import kotlinx.coroutines.flow.* import kotlin.experimental.ExperimentalTypeInference diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/remote/ApiClient.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/remote/ApiClient.kt similarity index 95% rename from sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/remote/ApiClient.kt rename to sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/remote/ApiClient.kt index 1e27b929..c42f94dc 100644 --- a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/remote/ApiClient.kt +++ b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/remote/ApiClient.kt @@ -1,6 +1,6 @@ -package co.nimblehq.kmm.template.data.remote +package co.nimblehq.kmm.sample.data.remote -import co.nimblehq.kmm.template.data.extensions.path +import co.nimblehq.kmm.sample.data.extensions.path import io.github.aakira.napier.DebugAntilog import io.github.aakira.napier.Napier import io.ktor.client.HttpClient diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/remote/datasources/RemoteDataSource.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/remote/datasources/RemoteDataSource.kt similarity index 62% rename from sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/remote/datasources/RemoteDataSource.kt rename to sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/remote/datasources/RemoteDataSource.kt index 40d0d5f0..0d96e730 100644 --- a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/remote/datasources/RemoteDataSource.kt +++ b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/remote/datasources/RemoteDataSource.kt @@ -1,7 +1,7 @@ -package co.nimblehq.kmm.template.data.remote.datasources +package co.nimblehq.kmm.sample.data.remote.datasources -import co.nimblehq.kmm.template.data.remote.models.responses.Response -import co.nimblehq.kmm.template.data.remote.ApiClient +import co.nimblehq.kmm.sample.data.remote.models.responses.Response +import co.nimblehq.kmm.sample.data.remote.ApiClient interface RemoteDataSource { suspend fun getUsers(): List diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/remote/models/responses/Response.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/remote/models/responses/Response.kt similarity index 62% rename from sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/remote/models/responses/Response.kt rename to sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/remote/models/responses/Response.kt index ab0421b4..de2ea438 100644 --- a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/remote/models/responses/Response.kt +++ b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/remote/models/responses/Response.kt @@ -1,6 +1,6 @@ -package co.nimblehq.kmm.template.data.remote.models.responses +package co.nimblehq.kmm.sample.data.remote.models.responses -import co.nimblehq.kmm.template.domain.models.Model +import co.nimblehq.kmm.sample.domain.models.Model import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/repositories/RepositoryImpl.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/repositories/RepositoryImpl.kt new file mode 100644 index 00000000..4f1f38ec --- /dev/null +++ b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/repositories/RepositoryImpl.kt @@ -0,0 +1,16 @@ +package co.nimblehq.kmm.sample.data.repositories + +import co.nimblehq.kmm.sample.data.extensions.flowTransform +import co.nimblehq.kmm.sample.data.remote.datasources.RemoteDataSource +import co.nimblehq.kmm.sample.data.remote.models.responses.toModel +import co.nimblehq.kmm.sample.domain.models.Model +import co.nimblehq.kmm.sample.domain.repositories.Repository +import kotlinx.coroutines.flow.Flow + +class RepositoryImpl( + private val remoteDataSource: RemoteDataSource +) : Repository { + override fun getUsers(): Flow> = flowTransform { + remoteDataSource.getUsers().map { it.toModel() } + } +} diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/di/Koin.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/di/Koin.kt similarity index 83% rename from sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/di/Koin.kt rename to sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/di/Koin.kt index 7d254713..53f2affe 100644 --- a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/di/Koin.kt +++ b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/di/Koin.kt @@ -1,6 +1,6 @@ -package co.nimblehq.kmm.template.di +package co.nimblehq.kmm.sample.di -import co.nimblehq.kmm.template.di.modules.* +import co.nimblehq.kmm.sample.di.modules.* import org.koin.core.KoinApplication import org.koin.core.context.startKoin import org.koin.dsl.KoinAppDeclaration diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/di/modules/PlatformModule.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/di/modules/PlatformModule.kt similarity index 62% rename from sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/di/modules/PlatformModule.kt rename to sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/di/modules/PlatformModule.kt index 1964f8f3..85abdc3e 100644 --- a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/di/modules/PlatformModule.kt +++ b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/di/modules/PlatformModule.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.template.di.modules +package co.nimblehq.kmm.sample.di.modules import org.koin.core.module.Module diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/di/modules/RemoteModule.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/di/modules/RemoteModule.kt new file mode 100644 index 00000000..073e2c0a --- /dev/null +++ b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/di/modules/RemoteModule.kt @@ -0,0 +1,13 @@ +package co.nimblehq.kmm.sample.di.modules + +import co.nimblehq.kmm.sample.data.remote.datasources.RemoteDataSource +import org.koin.dsl.module +import co.nimblehq.kmm.sample.data.remote.ApiClient +import co.nimblehq.kmm.sample.data.remote.datasources.RemoteDataSourceImpl +import org.koin.core.module.dsl.singleOf +import org.koin.dsl.bind + +val remoteModule = module { + singleOf(::ApiClient) + singleOf(::RemoteDataSourceImpl) bind RemoteDataSource::class +} diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/di/modules/RepositoryModule.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/di/modules/RepositoryModule.kt similarity index 51% rename from sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/di/modules/RepositoryModule.kt rename to sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/di/modules/RepositoryModule.kt index 5d844744..48068888 100644 --- a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/di/modules/RepositoryModule.kt +++ b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/di/modules/RepositoryModule.kt @@ -1,9 +1,9 @@ -package co.nimblehq.kmm.template.di.modules +package co.nimblehq.kmm.sample.di.modules import org.koin.core.module.dsl.singleOf import org.koin.dsl.module -import co.nimblehq.kmm.template.data.repositories.RepositoryImpl -import co.nimblehq.kmm.template.domain.repositories.Repository +import co.nimblehq.kmm.sample.data.repositories.RepositoryImpl +import co.nimblehq.kmm.sample.domain.repositories.Repository import org.koin.dsl.bind val repositoryModule = module { diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/di/modules/UseCaseModule.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/di/modules/UseCaseModule.kt similarity index 52% rename from sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/di/modules/UseCaseModule.kt rename to sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/di/modules/UseCaseModule.kt index 45ea8790..0c696527 100644 --- a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/di/modules/UseCaseModule.kt +++ b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/di/modules/UseCaseModule.kt @@ -1,9 +1,9 @@ -package co.nimblehq.kmm.template.di.modules +package co.nimblehq.kmm.sample.di.modules import org.koin.core.module.dsl.singleOf import org.koin.dsl.module -import co.nimblehq.kmm.template.domain.usecases.UseCaseImpl -import co.nimblehq.kmm.template.domain.usecases.UseCase +import co.nimblehq.kmm.sample.domain.usecases.UseCaseImpl +import co.nimblehq.kmm.sample.domain.usecases.UseCase import org.koin.dsl.bind val useCaseModule = module { diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/domain/exceptions/ApiException.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/domain/exceptions/ApiException.kt similarity index 76% rename from sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/domain/exceptions/ApiException.kt rename to sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/domain/exceptions/ApiException.kt index 7cc6a415..bc511105 100644 --- a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/domain/exceptions/ApiException.kt +++ b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/domain/exceptions/ApiException.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.template.domain.exceptions +package co.nimblehq.kmm.sample.domain.exceptions data class ApiException( val code: String?, diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/domain/models/Model.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/domain/models/Model.kt new file mode 100644 index 00000000..9bb1acb9 --- /dev/null +++ b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/domain/models/Model.kt @@ -0,0 +1,5 @@ +package co.nimblehq.kmm.sample.domain.models + +data class Model( + val id: Int? +) diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/domain/repositories/Repository.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/domain/repositories/Repository.kt new file mode 100644 index 00000000..46c1e0bc --- /dev/null +++ b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/domain/repositories/Repository.kt @@ -0,0 +1,8 @@ +package co.nimblehq.kmm.sample.domain.repositories + +import co.nimblehq.kmm.sample.domain.models.Model +import kotlinx.coroutines.flow.Flow + +interface Repository { + fun getUsers(): Flow> +} diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/domain/usecases/UseCase.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/domain/usecases/UseCase.kt similarity index 59% rename from sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/domain/usecases/UseCase.kt rename to sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/domain/usecases/UseCase.kt index 4f8641a5..c3fd5533 100644 --- a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/domain/usecases/UseCase.kt +++ b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/domain/usecases/UseCase.kt @@ -1,7 +1,7 @@ -package co.nimblehq.kmm.template.domain.usecases +package co.nimblehq.kmm.sample.domain.usecases -import co.nimblehq.kmm.template.domain.models.Model -import co.nimblehq.kmm.template.domain.repositories.Repository +import co.nimblehq.kmm.sample.domain.models.Model +import co.nimblehq.kmm.sample.domain.repositories.Repository import kotlinx.coroutines.flow.Flow interface UseCase { diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/repositories/RepositoryImpl.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/repositories/RepositoryImpl.kt deleted file mode 100644 index bd541db4..00000000 --- a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/repositories/RepositoryImpl.kt +++ /dev/null @@ -1,16 +0,0 @@ -package co.nimblehq.kmm.template.data.repositories - -import co.nimblehq.kmm.template.data.extensions.flowTransform -import co.nimblehq.kmm.template.data.remote.datasources.RemoteDataSource -import co.nimblehq.kmm.template.data.remote.models.responses.toModel -import co.nimblehq.kmm.template.domain.models.Model -import co.nimblehq.kmm.template.domain.repositories.Repository -import kotlinx.coroutines.flow.Flow - -class RepositoryImpl( - private val remoteDataSource: RemoteDataSource -) : Repository { - override fun getUsers(): Flow> = flowTransform { - remoteDataSource.getUsers().map { it.toModel() } - } -} diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/di/modules/RemoteModule.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/di/modules/RemoteModule.kt deleted file mode 100644 index 3db63691..00000000 --- a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/di/modules/RemoteModule.kt +++ /dev/null @@ -1,13 +0,0 @@ -package co.nimblehq.kmm.template.di.modules - -import co.nimblehq.kmm.template.data.remote.datasources.RemoteDataSource -import org.koin.dsl.module -import co.nimblehq.kmm.template.data.remote.ApiClient -import co.nimblehq.kmm.template.data.remote.datasources.RemoteDataSourceImpl -import org.koin.core.module.dsl.singleOf -import org.koin.dsl.bind - -val remoteModule = module { - singleOf(::ApiClient) - singleOf(::RemoteDataSourceImpl) bind RemoteDataSource::class -} diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/domain/models/Model.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/domain/models/Model.kt deleted file mode 100644 index 0155513c..00000000 --- a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/domain/models/Model.kt +++ /dev/null @@ -1,5 +0,0 @@ -package co.nimblehq.kmm.template.domain.models - -data class Model( - val id: Int? -) diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/domain/repositories/Repository.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/domain/repositories/Repository.kt deleted file mode 100644 index 319e5f02..00000000 --- a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/domain/repositories/Repository.kt +++ /dev/null @@ -1,8 +0,0 @@ -package co.nimblehq.kmm.template.domain.repositories - -import co.nimblehq.kmm.template.domain.models.Model -import kotlinx.coroutines.flow.Flow - -interface Repository { - fun getUsers(): Flow> -} diff --git a/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/template/commonTest.kt b/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/sample/commonTest.kt similarity index 86% rename from sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/template/commonTest.kt rename to sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/sample/commonTest.kt index 560187be..da8f3e9b 100644 --- a/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/template/commonTest.kt +++ b/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/sample/commonTest.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.template +package co.nimblehq.kmm.sample import kotlin.test.Test import kotlin.test.assertTrue diff --git a/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/template/data/repositories/RepositoryTest.kt b/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/sample/data/repositories/RepositoryTest.kt similarity index 81% rename from sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/template/data/repositories/RepositoryTest.kt rename to sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/sample/data/repositories/RepositoryTest.kt index 44592df9..98bd3ed3 100644 --- a/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/template/data/repositories/RepositoryTest.kt +++ b/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/sample/data/repositories/RepositoryTest.kt @@ -1,10 +1,10 @@ -package co.nimblehq.kmm.template.data.repositories +package co.nimblehq.kmm.sample.data.repositories import app.cash.turbine.test -import co.nimblehq.kmm.template.data.remote.datasources.RemoteDataSource -import co.nimblehq.kmm.template.domain.repositories.Repository -import co.nimblehq.kmm.template.util.Fake.model -import co.nimblehq.kmm.template.util.Fake.response +import co.nimblehq.kmm.sample.data.remote.datasources.RemoteDataSource +import co.nimblehq.kmm.sample.domain.repositories.Repository +import co.nimblehq.kmm.sample.util.Fake.model +import co.nimblehq.kmm.sample.util.Fake.response import io.kotest.matchers.shouldBe import io.mockative.* import kotlinx.coroutines.ExperimentalCoroutinesApi diff --git a/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/template/domain/usecases/UseCaseTest.kt b/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/sample/domain/usecases/UseCaseTest.kt similarity index 89% rename from sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/template/domain/usecases/UseCaseTest.kt rename to sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/sample/domain/usecases/UseCaseTest.kt index 79549421..fb5c7f54 100644 --- a/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/template/domain/usecases/UseCaseTest.kt +++ b/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/sample/domain/usecases/UseCaseTest.kt @@ -1,8 +1,8 @@ -package co.nimblehq.kmm.template.domain.usecases +package co.nimblehq.kmm.sample.domain.usecases import app.cash.turbine.test -import co.nimblehq.kmm.template.domain.repositories.Repository -import co.nimblehq.kmm.template.util.Fake.model +import co.nimblehq.kmm.sample.domain.repositories.Repository +import co.nimblehq.kmm.sample.util.Fake.model import io.kotest.matchers.shouldBe import io.mockative.* import kotlinx.coroutines.ExperimentalCoroutinesApi diff --git a/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/template/extensions/ResponseMappingTest.kt b/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/sample/extensions/ResponseMappingTest.kt similarity index 83% rename from sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/template/extensions/ResponseMappingTest.kt rename to sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/sample/extensions/ResponseMappingTest.kt index 6346d0b9..9d3a451a 100644 --- a/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/template/extensions/ResponseMappingTest.kt +++ b/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/sample/extensions/ResponseMappingTest.kt @@ -1,8 +1,8 @@ -package co.nimblehq.kmm.template.extensions +package co.nimblehq.kmm.sample.extensions import app.cash.turbine.test -import co.nimblehq.kmm.template.data.extensions.flowTransform -import co.nimblehq.kmm.template.domain.models.Model +import co.nimblehq.kmm.sample.data.extensions.flowTransform +import co.nimblehq.kmm.sample.domain.models.Model import io.kotest.matchers.shouldBe import io.ktor.utils.io.errors.* import kotlinx.coroutines.ExperimentalCoroutinesApi diff --git a/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/sample/util/Fake.kt b/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/sample/util/Fake.kt new file mode 100644 index 00000000..ad85168f --- /dev/null +++ b/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/sample/util/Fake.kt @@ -0,0 +1,11 @@ +package co.nimblehq.kmm.sample.util + +import co.nimblehq.kmm.sample.data.remote.models.responses.Response +import co.nimblehq.kmm.sample.domain.models.Model + +object Fake { + + val model = Model(id = 0) + + val response = Response(id = 0) +} diff --git a/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/template/util/Fake.kt b/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/template/util/Fake.kt deleted file mode 100644 index da1094a8..00000000 --- a/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/template/util/Fake.kt +++ /dev/null @@ -1,11 +0,0 @@ -package co.nimblehq.kmm.template.util - -import co.nimblehq.kmm.template.data.remote.models.responses.Response -import co.nimblehq.kmm.template.domain.models.Model - -object Fake { - - val model = Model(id = 0) - - val response = Response(id = 0) -} diff --git a/sample/shared/src/iosMain/kotlin/co/nimblehq/kmm/template/Platform.ios.kt b/sample/shared/src/iosMain/kotlin/co/nimblehq/kmm/sample/Platform.ios.kt similarity index 87% rename from sample/shared/src/iosMain/kotlin/co/nimblehq/kmm/template/Platform.ios.kt rename to sample/shared/src/iosMain/kotlin/co/nimblehq/kmm/sample/Platform.ios.kt index 508832e9..fcdc5971 100644 --- a/sample/shared/src/iosMain/kotlin/co/nimblehq/kmm/template/Platform.ios.kt +++ b/sample/shared/src/iosMain/kotlin/co/nimblehq/kmm/sample/Platform.ios.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.template +package co.nimblehq.kmm.sample import platform.UIKit.UIDevice diff --git a/sample/shared/src/iosMain/kotlin/co/nimblehq/kmm/template/di/modules/PlatformModule.kt b/sample/shared/src/iosMain/kotlin/co/nimblehq/kmm/sample/di/modules/PlatformModule.kt similarity index 80% rename from sample/shared/src/iosMain/kotlin/co/nimblehq/kmm/template/di/modules/PlatformModule.kt rename to sample/shared/src/iosMain/kotlin/co/nimblehq/kmm/sample/di/modules/PlatformModule.kt index f08cecbb..6f027223 100644 --- a/sample/shared/src/iosMain/kotlin/co/nimblehq/kmm/template/di/modules/PlatformModule.kt +++ b/sample/shared/src/iosMain/kotlin/co/nimblehq/kmm/sample/di/modules/PlatformModule.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.template.di.modules +package co.nimblehq.kmm.sample.di.modules import io.ktor.client.engine.darwin.Darwin import org.koin.core.module.Module diff --git a/sample/shared/src/iosTest/kotlin/co/nimblehq/kmm/template/iosTest.kt b/sample/shared/src/iosTest/kotlin/co/nimblehq/kmm/sample/iosTest.kt similarity index 86% rename from sample/shared/src/iosTest/kotlin/co/nimblehq/kmm/template/iosTest.kt rename to sample/shared/src/iosTest/kotlin/co/nimblehq/kmm/sample/iosTest.kt index 3922db12..e6286bb9 100644 --- a/sample/shared/src/iosTest/kotlin/co/nimblehq/kmm/template/iosTest.kt +++ b/sample/shared/src/iosTest/kotlin/co/nimblehq/kmm/sample/iosTest.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.template +package co.nimblehq.kmm.sample import kotlin.test.Test import kotlin.test.assertTrue From e23321e70a02942e2bcaa94ad146171111b29d68 Mon Sep 17 00:00:00 2001 From: "Luong Vo (Lucas)" Date: Thu, 2 Nov 2023 00:17:12 +0700 Subject: [PATCH 07/25] [#30] Move make_android and make_ios scripts to scripts folder --- make.sh | 10 ++++------ make_android.sh => scripts/make_android.sh | 0 make_ios.sh => scripts/make_ios.sh | 0 3 files changed, 4 insertions(+), 6 deletions(-) rename make_android.sh => scripts/make_android.sh (100%) rename make_ios.sh => scripts/make_ios.sh (100%) diff --git a/make.sh b/make.sh index a882f8ec..0c7590ac 100755 --- a/make.sh +++ b/make.sh @@ -108,10 +108,10 @@ git reset --hard cd .. # Generate iOS module -sh make_ios.sh -b ${bundle_id_production} -s ${bundle_id_staging} -n ${project_name} -iv ${minimum_ios_version} +sh scripts/make_ios.sh -b ${bundle_id_production} -s ${bundle_id_staging} -n ${project_name} -iv ${minimum_ios_version} # Generate Android module -sh make_android.sh -b ${bundle_id_production} -n ${project_name} +sh scripts/make_android.sh -b ${bundle_id_production} -n ${project_name} # Clone all project files to the "sample" directory echo "=> Clone all project files to the "sample" directory" @@ -119,13 +119,11 @@ rsync -av \ --exclude '.git' \ --exclude '.gitmodules' \ --exclude 'make.sh' \ - --exclude 'make_android.sh' \ - --exclude 'make_ios.sh' \ + --exclude '/scripts' \ --exclude '/custom' \ --exclude '/android' \ - --exclude '/sample' \ - --exclude '/scripts' \ --exclude '/shared' \ + --exclude '/sample' \ ./ sample/ rsync -av ./android/sample/app/ sample/android/ diff --git a/make_android.sh b/scripts/make_android.sh similarity index 100% rename from make_android.sh rename to scripts/make_android.sh diff --git a/make_ios.sh b/scripts/make_ios.sh similarity index 100% rename from make_ios.sh rename to scripts/make_ios.sh From 80720b8bfd42cb8a3c952349ec415a9eb27e808b Mon Sep 17 00:00:00 2001 From: "Luong Vo (Lucas)" Date: Thu, 2 Nov 2023 00:37:32 +0700 Subject: [PATCH 08/25] [#30] Customize output folder to project name --- README.md | 6 +++++- make.sh | 9 +++++---- scripts/make_android.sh | 28 ++++++++++++++-------------- 3 files changed, 24 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 7e2b3e52..ea4bef67 100644 --- a/README.md +++ b/README.md @@ -29,13 +29,17 @@ Follow these steps to set up a new project from the template: 3. Generate the new project by running the following command: + `$ ./make.sh --bundle-id [BUNDLE_ID] --bundle-id-staging [BUNDLE_ID_STAGING] --project-name [PROJECT_NAME] --ios-version [IOS_VERSION]` + + For example, + `$ ./make.sh --bundle-id co.nimblehq.kmm.template --bundle-id-staging co.nimblehq.kmm.template.staging --project-name sample --ios-version 14.0` To skip CI/CD service generating from iOS script, export this CI env: `$ export CI=true` -The generated project is in the `/sample` folder and ready to build, run, and test 🎉 +The generated project is in the `[PROJECT_NAME]` folder (such as `/sample`) and ready to build, run, and test 🎉 ## Contributing diff --git a/make.sh b/make.sh index 0c7590ac..fd01f516 100755 --- a/make.sh +++ b/make.sh @@ -113,8 +113,8 @@ sh scripts/make_ios.sh -b ${bundle_id_production} -s ${bundle_id_staging} -n ${ # Generate Android module sh scripts/make_android.sh -b ${bundle_id_production} -n ${project_name} -# Clone all project files to the "sample" directory -echo "=> Clone all project files to the "sample" directory" +# Clone all project files to the $project_name directory +echo "=> Clone all project files to the '$project_name' directory" rsync -av \ --exclude '.git' \ --exclude '.gitmodules' \ @@ -124,8 +124,9 @@ rsync -av \ --exclude '/android' \ --exclude '/shared' \ --exclude '/sample' \ - ./ sample/ -rsync -av ./android/sample/app/ sample/android/ + --exclude '/'$project_name \ + ./ $project_name/ +rsync -av ./android/$project_name/app/ $project_name/android/ # Generate Shared module kscript scripts/make_shared.kts package-name=${bundle_id_production} app-name=${project_name} diff --git a/scripts/make_android.sh b/scripts/make_android.sh index 2516e350..59c3c502 100644 --- a/scripts/make_android.sh +++ b/scripts/make_android.sh @@ -37,27 +37,27 @@ kscript scripts/new_project.kts package-name=${bundle_id} app-name=${project_nam package_path="${bundle_id//.//}" # Correct dependencies -sed -i '' 's/Modules.DATA/Modules.SHARED/' sample/app/build.gradle.kts -sed -i '' "/implementation(project(Modules.DOMAIN))*/d" sample/app/build.gradle.kts -sed -i '' "/kover(project(Modules.DOMAIN))*/d" sample/app/build.gradle.kts +sed -i '' 's/Modules.DATA/Modules.SHARED/' $project_name/app/build.gradle.kts +sed -i '' "/implementation(project(Modules.DOMAIN))*/d" $project_name/app/build.gradle.kts +sed -i '' "/kover(project(Modules.DOMAIN))*/d" $project_name/app/build.gradle.kts # Correct imports -sed -i '' 's/import '$bundle_id'.data.di.initKoin/import '$bundle_id'.di.initKoin/' sample/app/src/main/java/$package_path/MainApplication.kt +sed -i '' 's/import '$bundle_id'.data.di.initKoin/import '$bundle_id'.di.initKoin/' $project_name/app/src/main/java/$package_path/MainApplication.kt # Correct error mapping -sed -i '' 's/is ApiException -> error?.message/is ApiException -> message/' sample/app/src/main/java/$package_path/ui/ErrorMapping.kt +sed -i '' 's/is ApiException -> error?.message/is ApiException -> message/' $project_name/app/src/main/java/$package_path/ui/ErrorMapping.kt # Remove unnecessary definition of BASE_API_URL -sed -i '' "/buildConfigField(\"String\", \"BASE_API_URL\"*/d" sample/app/build.gradle.kts -sed -i '' "/import $bundle_id.BuildConfig*/d" sample/app/src/main/java/$package_path/di/modules/AppModule.kt -sed -i '' "/import $bundle_id.data.di.modules.BASE_API_URL*/d" sample/app/src/main/java/$package_path/di/modules/AppModule.kt -sed -i '' "/import org.koin.core.qualifier.named*/d" sample/app/src/main/java/$package_path/di/modules/AppModule.kt -sed -i '' "/ single(named(BASE_API_URL)) {\n*/d" sample/app/src/main/java/$package_path/di/modules/AppModule.kt -sed -i '' "/ BuildConfig.BASE_API_URL\n*/d" sample/app/src/main/java/$package_path/di/modules/AppModule.kt -sed -i '' "/ }\n*/d" sample/app/src/main/java/$package_path/di/modules/AppModule.kt +sed -i '' "/buildConfigField(\"String\", \"BASE_API_URL\"*/d" $project_name/app/build.gradle.kts +sed -i '' "/import $bundle_id.BuildConfig*/d" $project_name/app/src/main/java/$package_path/di/modules/AppModule.kt +sed -i '' "/import $bundle_id.data.di.modules.BASE_API_URL*/d" $project_name/app/src/main/java/$package_path/di/modules/AppModule.kt +sed -i '' "/import org.koin.core.qualifier.named*/d" $project_name/app/src/main/java/$package_path/di/modules/AppModule.kt +sed -i '' "/ single(named(BASE_API_URL)) {\n*/d" $project_name/app/src/main/java/$package_path/di/modules/AppModule.kt +sed -i '' "/ BuildConfig.BASE_API_URL\n*/d" $project_name/app/src/main/java/$package_path/di/modules/AppModule.kt +sed -i '' "/ }\n*/d" $project_name/app/src/main/java/$package_path/di/modules/AppModule.kt # Overwrite custom files -rsync -av ../custom/android/ sample/app/ +rsync -av ../custom/android/ $project_name/app/ # Overwrite the Kover config for KMM perl -i -p0e 's/koverReport (.|\n)*}$/koverReport {\ @@ -84,6 +84,6 @@ perl -i -p0e 's/koverReport (.|\n)*}$/koverReport {\ }\ }\ }\ -}/g' sample/app/build.gradle.kts +}/g' $project_name/app/build.gradle.kts cd .. From 781f00df591f2d47e7ad365b6bd05831254254ff Mon Sep 17 00:00:00 2001 From: team-nimblehq Date: Thu, 2 Nov 2023 01:36:38 +0000 Subject: [PATCH 09/25] [Chore] Generate & update sample project --- sample/README.md | 6 +- sample/ios/Gemfile.lock | 2 +- sample/ios/Podfile.lock | 12 +- sample/ios/sample.xcodeproj/project.pbxproj | 230 ++++++++++---------- 4 files changed, 127 insertions(+), 123 deletions(-) diff --git a/sample/README.md b/sample/README.md index 7e2b3e52..ea4bef67 100644 --- a/sample/README.md +++ b/sample/README.md @@ -29,13 +29,17 @@ Follow these steps to set up a new project from the template: 3. Generate the new project by running the following command: + `$ ./make.sh --bundle-id [BUNDLE_ID] --bundle-id-staging [BUNDLE_ID_STAGING] --project-name [PROJECT_NAME] --ios-version [IOS_VERSION]` + + For example, + `$ ./make.sh --bundle-id co.nimblehq.kmm.template --bundle-id-staging co.nimblehq.kmm.template.staging --project-name sample --ios-version 14.0` To skip CI/CD service generating from iOS script, export this CI env: `$ export CI=true` -The generated project is in the `/sample` folder and ready to build, run, and test 🎉 +The generated project is in the `[PROJECT_NAME]` folder (such as `/sample`) and ready to build, run, and test 🎉 ## Contributing diff --git a/sample/ios/Gemfile.lock b/sample/ios/Gemfile.lock index 335c0137..f1fd300e 100644 --- a/sample/ios/Gemfile.lock +++ b/sample/ios/Gemfile.lock @@ -368,4 +368,4 @@ DEPENDENCIES xcov BUNDLED WITH - 2.4.21 + 2.4.19 diff --git a/sample/ios/Podfile.lock b/sample/ios/Podfile.lock index 16b7978e..b8122bd3 100644 --- a/sample/ios/Podfile.lock +++ b/sample/ios/Podfile.lock @@ -57,11 +57,11 @@ PODS: - KIF/IdentifierTests (3.8.9): - KIF/Core - Kingfisher (7.10.0) - - nanopb (2.30909.0): - - nanopb/decode (= 2.30909.0) - - nanopb/encode (= 2.30909.0) - - nanopb/decode (2.30909.0) - - nanopb/encode (2.30909.0) + - nanopb (2.30909.1): + - nanopb/decode (= 2.30909.1) + - nanopb/encode (= 2.30909.1) + - nanopb/decode (2.30909.1) + - nanopb/encode (2.30909.1) - Nimble (13.0.0) - NimbleExtension (0.1.0) - PromisesObjC (2.3.1) @@ -196,7 +196,7 @@ SPEC CHECKSUMS: KeychainAccess: c0c4f7f38f6fc7bbe58f5702e25f7bd2f65abf51 KIF: 7660c626b0f2d4562533590960db70a36d640558 Kingfisher: a18f05d3b6d37d8650ee4a3e61d57a28fc6207f6 - nanopb: b552cce312b6c8484180ef47159bc0f65a1f0431 + nanopb: d4d75c12cd1316f4a64e3c6963f879ecd4b5e0d5 Nimble: 97d90931cca412a23224ff29e258809f75c258f7 NimbleExtension: acad4290f27afd4241b1ea20f8597889085e2ce7 PromisesObjC: c50d2056b5253dadbd6c2bea79b0674bd5a52fa4 diff --git a/sample/ios/sample.xcodeproj/project.pbxproj b/sample/ios/sample.xcodeproj/project.pbxproj index 0f6a0725..c26044ae 100644 --- a/sample/ios/sample.xcodeproj/project.pbxproj +++ b/sample/ios/sample.xcodeproj/project.pbxproj @@ -8,11 +8,11 @@ /* Begin PBXBuildFile section */ 0B975608DEB5FC5F00024E82 /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = EFE5D281FD0FFFF44FC92B04 /* .gitkeep */; }; + 0EE7FD27249647592242C197 /* Pods_sampleTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6EDCEB080889CA664E478E42 /* Pods_sampleTests.framework */; }; 0FCD70BBC15623E2843E571B /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = E4C58806C2B28AED0873F8AF /* .gitkeep */; }; 18B4C2A55909888C5D0EDFDA /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6432B427D5097BCF75C4B15E /* AppDelegate.swift */; }; 1F3B8CA45E426F2E4BA8A41C /* R.generated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EEB8F8EE4393D2D9AC51316 /* R.generated.swift */; }; 20FF012BAC088FFC92962E28 /* UIView+Subviews.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDBCDCBA1D855D7023A0342F /* UIView+Subviews.swift */; }; - 21946DAB3EA6A02EEC0CA3D5 /* Pods_sample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B56BC4A4A2D4CBD5B317C520 /* Pods_sample.framework */; }; 33209CEB34C04BC32D0FFDD4 /* UseCaseFactoryProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CA52B4C8C3AF1CB2181C14D /* UseCaseFactoryProtocol.swift */; }; 3559AC5988194A4701902F80 /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = 302BB730B8D0BF901FF489B6 /* .gitkeep */; }; 53157A77A8B802D108AE9D73 /* Typealiases.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5B819017A28FE15B242BB5B /* Typealiases.swift */; }; @@ -21,18 +21,18 @@ 7CF0F8933FB47F5D003383AA /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = 41210B648761A8DC4ABD3BB9 /* .gitkeep */; }; 7ED0E12DA355DEE8EED0B614 /* Color+Application.swift in Sources */ = {isa = PBXBuildFile; fileRef = A29F97F67192DE9B66E872E6 /* Color+Application.swift */; }; 840CF0D3913B0069F0F2FF12 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D2F657F289C5314152FFCFA2 /* Assets.xcassets */; }; - 867AF73A050FA8912BE8DCCB /* Pods_sample_sampleKIFUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7E585746E13503AC2F2C73BC /* Pods_sample_sampleKIFUITests.framework */; }; 8A43095CEA3F4C83584AB199 /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = 05F57F86A37A0E0B6CC54CB4 /* .gitkeep */; }; 9726C56684473F7E78415A58 /* Navigator+Scene.swift in Sources */ = {isa = PBXBuildFile; fileRef = A64B0E7B034D526205048030 /* Navigator+Scene.swift */; }; 9ACA6A5E938E3365302C3749 /* Navigator.swift in Sources */ = {isa = PBXBuildFile; fileRef = C159B27C88C08E8AEB22AFD4 /* Navigator.swift */; }; + A78D67514B8AC97B88CDCBC4 /* Pods_sample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3BB58294E82C501E26FEB849 /* Pods_sample.framework */; }; BA754F29AB917D745895322D /* Constants+API.swift in Sources */ = {isa = PBXBuildFile; fileRef = 222B1BD9F71FF1797F160231 /* Constants+API.swift */; }; C152F2B63E42238BE4F20592 /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82F5C2293A2DB24CDCA81957 /* Constants.swift */; }; CA324314BE7318252E4D5D62 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 6952456309E29C9609D23B3F /* LaunchScreen.storyboard */; }; D609A7DCE8B3E7A49CFACC2E /* Navigator+Transition.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9816C413C0D0DD7B01BA9CE /* Navigator+Transition.swift */; }; DE665FDD6164065A881A2F44 /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = 67C0EA707F4FBB459FEBA640 /* .gitkeep */; }; - F133E77B8193B9B1AD045D85 /* Pods_sampleTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC3407111872AEC13023C1A4 /* Pods_sampleTests.framework */; }; F444409E14F8ED6BF6A2666A /* KIF+Swift.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFAE58D40BFE459B1184D994 /* KIF+Swift.swift */; }; F858855AD6392D182B853A79 /* Optional+Unwrap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 562EF605C844B951CD47F38D /* Optional+Unwrap.swift */; }; + FBE45670DD1F912EE7620D94 /* Pods_sample_sampleKIFUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B80B6F79B3BF91AA85513465 /* Pods_sample_sampleKIFUITests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -88,51 +88,51 @@ /* Begin PBXFileReference section */ 04B8796D7472561BF8EB10A1 /* DebugProduction.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = DebugProduction.xcconfig; sourceTree = ""; }; 05F57F86A37A0E0B6CC54CB4 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; - 0BCF19A5375E93BF9C942225 /* Pods-sample.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release staging.xcconfig"; sourceTree = ""; }; - 0E7E6676709AED47520348BC /* Pods-sampleTests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release staging.xcconfig"; sourceTree = ""; }; 18C176717B282B7A8842FC73 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; - 19B1D01C0FFDEFDD3F05342A /* Pods-sampleTests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug production.xcconfig"; sourceTree = ""; }; 1EEB8F8EE4393D2D9AC51316 /* R.generated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = R.generated.swift; sourceTree = ""; }; 222B1BD9F71FF1797F160231 /* Constants+API.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Constants+API.swift"; sourceTree = ""; }; - 2927BAB1011DB30431608F64 /* Pods-sampleTests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release production.xcconfig"; sourceTree = ""; }; + 2F8978C3591F3AB9383044FF /* Pods-sampleTests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug production.xcconfig"; sourceTree = ""; }; 302BB730B8D0BF901FF489B6 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; - 38A8A2CC447536E67C385186 /* Pods-sample.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug staging.xcconfig"; sourceTree = ""; }; + 330A23F4CE7E9A19F2093D0B /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug staging.xcconfig"; sourceTree = ""; }; + 3BB58294E82C501E26FEB849 /* Pods_sample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 41210B648761A8DC4ABD3BB9 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; 414B86B12605C252A692EA37 /* sampleKIFUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = sampleKIFUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 553F4F5F3B18AA69D51D07BE /* Pods-sample.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release production.xcconfig"; sourceTree = ""; }; 562EF605C844B951CD47F38D /* Optional+Unwrap.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Optional+Unwrap.swift"; sourceTree = ""; }; - 606171EF11F973892AEAB8DA /* Pods-sample.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug production.xcconfig"; sourceTree = ""; }; - 62B6171C4C91813ECB1DF75E /* Pods-sample.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release production.xcconfig"; sourceTree = ""; }; 6432B427D5097BCF75C4B15E /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 67C0EA707F4FBB459FEBA640 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; 6952456309E29C9609D23B3F /* LaunchScreen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = ""; }; - 6F080B23C7178CD2CFC2B05A /* Pods-sample-sampleKIFUITests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release production.xcconfig"; sourceTree = ""; }; - 7E585746E13503AC2F2C73BC /* Pods_sample_sampleKIFUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample_sampleKIFUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 6EDCEB080889CA664E478E42 /* Pods_sampleTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sampleTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 82F5C2293A2DB24CDCA81957 /* Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = ""; }; + 860CBCD4372CBC5651DEB560 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug production.xcconfig"; sourceTree = ""; }; 8CA52B4C8C3AF1CB2181C14D /* UseCaseFactoryProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UseCaseFactoryProtocol.swift; sourceTree = ""; }; - 9A4BBFF97444287D71ED302D /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug staging.xcconfig"; sourceTree = ""; }; + A02644E4F3BC5C9A90ECEB14 /* Pods-sample.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug production.xcconfig"; sourceTree = ""; }; A29F97F67192DE9B66E872E6 /* Color+Application.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Color+Application.swift"; sourceTree = ""; }; A64B0E7B034D526205048030 /* Navigator+Scene.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Navigator+Scene.swift"; sourceTree = ""; }; + A6AAE2CA775C19ADA3366523 /* Pods-sample-sampleKIFUITests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release production.xcconfig"; sourceTree = ""; }; + A7271EDFCF811F6A05025108 /* Pods-sampleTests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release staging.xcconfig"; sourceTree = ""; }; ADE63A1C257C06E1D05C8136 /* DebugStaging.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = DebugStaging.xcconfig; sourceTree = ""; }; - AE0CF0C245FB9943531EF761 /* Pods-sampleTests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug staging.xcconfig"; sourceTree = ""; }; - B146DF93DCB999E8F123622F /* Pods-sample-sampleKIFUITests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug production.xcconfig"; sourceTree = ""; }; - B56BC4A4A2D4CBD5B317C520 /* Pods_sample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B80B6F79B3BF91AA85513465 /* Pods_sample_sampleKIFUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample_sampleKIFUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; B8847183C3FF3D70FE4192CD /* sampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = sampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; BBD1568B768046A18E011F2C /* HomeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeViewController.swift; sourceTree = ""; }; BBF1B234787FCD92142B105D /* AutoMockable.generated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutoMockable.generated.swift; sourceTree = ""; }; BD9D9C9A495C5EA0AE9039C6 /* ReleaseProduction.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = ReleaseProduction.xcconfig; sourceTree = ""; }; C159B27C88C08E8AEB22AFD4 /* Navigator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Navigator.swift; sourceTree = ""; }; - C536E515E432EEB5FBE11437 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release staging.xcconfig"; sourceTree = ""; }; CD3A7C3AC94E15DEC4F12A85 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; CDBCDCBA1D855D7023A0342F /* UIView+Subviews.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIView+Subviews.swift"; sourceTree = ""; }; + D1A91ED0BA7C0A1603E30DB4 /* Pods-sample.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release staging.xcconfig"; sourceTree = ""; }; D2D7345A2017D2D372785123 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; D2F657F289C5314152FFCFA2 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - DC3407111872AEC13023C1A4 /* Pods_sampleTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sampleTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D5618C7C53FE04C410AD463E /* Pods-sample.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug staging.xcconfig"; sourceTree = ""; }; E4C58806C2B28AED0873F8AF /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; EFAE58D40BFE459B1184D994 /* KIF+Swift.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "KIF+Swift.swift"; sourceTree = ""; }; EFE5D281FD0FFFF44FC92B04 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; + F2956EA0053D2430CDE6D722 /* Pods-sampleTests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release production.xcconfig"; sourceTree = ""; }; + F33C5EAEC3F175EC2F58780F /* Pods-sample-sampleKIFUITests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release staging.xcconfig"; sourceTree = ""; }; F5B819017A28FE15B242BB5B /* Typealiases.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Typealiases.swift; sourceTree = ""; }; F854F7439696BB6B30145F6D /* ReleaseStaging.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = ReleaseStaging.xcconfig; sourceTree = ""; }; F9816C413C0D0DD7B01BA9CE /* Navigator+Transition.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Navigator+Transition.swift"; sourceTree = ""; }; + F9C046E6F0A8FCABC89C33F7 /* Pods-sampleTests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug staging.xcconfig"; sourceTree = ""; }; FB7E8789ADE1FB388671EEB3 /* sample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = sample.app; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ @@ -141,7 +141,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 867AF73A050FA8912BE8DCCB /* Pods_sample_sampleKIFUITests.framework in Frameworks */, + FBE45670DD1F912EE7620D94 /* Pods_sample_sampleKIFUITests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -149,7 +149,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F133E77B8193B9B1AD045D85 /* Pods_sampleTests.framework in Frameworks */, + 0EE7FD27249647592242C197 /* Pods_sampleTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -157,7 +157,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 21946DAB3EA6A02EEC0CA3D5 /* Pods_sample.framework in Frameworks */, + A78D67514B8AC97B88CDCBC4 /* Pods_sample.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -261,9 +261,9 @@ 52B072A663159D9D007D540F /* Frameworks */ = { isa = PBXGroup; children = ( - B56BC4A4A2D4CBD5B317C520 /* Pods_sample.framework */, - 7E585746E13503AC2F2C73BC /* Pods_sample_sampleKIFUITests.framework */, - DC3407111872AEC13023C1A4 /* Pods_sampleTests.framework */, + 3BB58294E82C501E26FEB849 /* Pods_sample.framework */, + B80B6F79B3BF91AA85513465 /* Pods_sample_sampleKIFUITests.framework */, + 6EDCEB080889CA664E478E42 /* Pods_sampleTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -298,7 +298,7 @@ 9B7CF20BE2915B62911C62AA /* Project */, 52B072A663159D9D007D540F /* Frameworks */, 372816F20EC291B850EECF1F /* Products */, - BF7A39BC9D379A9BB0D598A3 /* Pods */, + 890D7B722289E2BB86BB479B /* Pods */, ); sourceTree = ""; }; @@ -339,6 +339,26 @@ path = Domain; sourceTree = ""; }; + 890D7B722289E2BB86BB479B /* Pods */ = { + isa = PBXGroup; + children = ( + A02644E4F3BC5C9A90ECEB14 /* Pods-sample.debug production.xcconfig */, + D5618C7C53FE04C410AD463E /* Pods-sample.debug staging.xcconfig */, + 553F4F5F3B18AA69D51D07BE /* Pods-sample.release production.xcconfig */, + D1A91ED0BA7C0A1603E30DB4 /* Pods-sample.release staging.xcconfig */, + 860CBCD4372CBC5651DEB560 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */, + 330A23F4CE7E9A19F2093D0B /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */, + A6AAE2CA775C19ADA3366523 /* Pods-sample-sampleKIFUITests.release production.xcconfig */, + F33C5EAEC3F175EC2F58780F /* Pods-sample-sampleKIFUITests.release staging.xcconfig */, + 2F8978C3591F3AB9383044FF /* Pods-sampleTests.debug production.xcconfig */, + F9C046E6F0A8FCABC89C33F7 /* Pods-sampleTests.debug staging.xcconfig */, + F2956EA0053D2430CDE6D722 /* Pods-sampleTests.release production.xcconfig */, + A7271EDFCF811F6A05025108 /* Pods-sampleTests.release staging.xcconfig */, + ); + name = Pods; + path = Pods; + sourceTree = ""; + }; 8D53E686161B0B57F30AE02D /* Sourcery */ = { isa = PBXGroup; children = ( @@ -449,26 +469,6 @@ path = Sources; sourceTree = ""; }; - BF7A39BC9D379A9BB0D598A3 /* Pods */ = { - isa = PBXGroup; - children = ( - 606171EF11F973892AEAB8DA /* Pods-sample.debug production.xcconfig */, - 38A8A2CC447536E67C385186 /* Pods-sample.debug staging.xcconfig */, - 62B6171C4C91813ECB1DF75E /* Pods-sample.release production.xcconfig */, - 0BCF19A5375E93BF9C942225 /* Pods-sample.release staging.xcconfig */, - B146DF93DCB999E8F123622F /* Pods-sample-sampleKIFUITests.debug production.xcconfig */, - 9A4BBFF97444287D71ED302D /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */, - 6F080B23C7178CD2CFC2B05A /* Pods-sample-sampleKIFUITests.release production.xcconfig */, - C536E515E432EEB5FBE11437 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */, - 19B1D01C0FFDEFDD3F05342A /* Pods-sampleTests.debug production.xcconfig */, - AE0CF0C245FB9943531EF761 /* Pods-sampleTests.debug staging.xcconfig */, - 2927BAB1011DB30431608F64 /* Pods-sampleTests.release production.xcconfig */, - 0E7E6676709AED47520348BC /* Pods-sampleTests.release staging.xcconfig */, - ); - name = Pods; - path = Pods; - sourceTree = ""; - }; BFDB98DE7C2E759F6BF34977 /* UseCases */ = { isa = PBXGroup; children = ( @@ -570,7 +570,7 @@ isa = PBXNativeTarget; buildConfigurationList = 56FE2126489C1E87A2D918A3 /* Build configuration list for PBXNativeTarget "sample" */; buildPhases = ( - 686E2E282EDE9D3251BAE831 /* [CP] Check Pods Manifest.lock */, + F1C6ED8E01F5B0FADA67B99F /* [CP] Check Pods Manifest.lock */, B2B621CC2B1F4F58601CD98D /* Sourcery */, 7EB246CFC1E0CCBA652DC37E /* R.swift */, CF26733D03C8D33F8823EE1F /* SwiftLint */, @@ -580,7 +580,7 @@ 494614C33B509301DBBDAD42 /* Embed Frameworks */, 89C77BA3C707AD804F79284B /* Frameworks */, 843C67A8A78058B8D8B3D11E /* Copy GoogleService-Info.plist */, - C8AB47D41832EAC1071B05F3 /* [CP] Embed Pods Frameworks */, + 385B706DD2EEB28993C1A115 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -595,12 +595,12 @@ isa = PBXNativeTarget; buildConfigurationList = 31E84C030BDB7A39BCE38D8C /* Build configuration list for PBXNativeTarget "sampleKIFUITests" */; buildPhases = ( - 863BBDD7C3C0C1CF3CF1DB19 /* [CP] Check Pods Manifest.lock */, + 934CFE219806147EC7B9FAFB /* [CP] Check Pods Manifest.lock */, 21ADDF0B071B770FFB6A086A /* Sources */, 43218B877C978B4CA5B93235 /* Resources */, 392BFB718CBF57CF0D23848E /* Embed Frameworks */, 29CEF4F9FF315D4254B8BC69 /* Frameworks */, - A0412FC8DAD4BE37F820F07F /* [CP] Embed Pods Frameworks */, + 76AC939B6D28EAFA729FFE49 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -616,13 +616,13 @@ isa = PBXNativeTarget; buildConfigurationList = C3875EBB5A0F6612B3515A13 /* Build configuration list for PBXNativeTarget "sampleTests" */; buildPhases = ( - 39FC727B9CFF4D96A65DC76C /* [CP] Check Pods Manifest.lock */, + B8C7AD9CBCE2A740E7EB604B /* [CP] Check Pods Manifest.lock */, 2F7B6AB35D89AA83D514ECC2 /* SwiftFormat */, 9344943859735CAEA8DDB048 /* Sources */, E472A2AC48FE9588146AB254 /* Resources */, 51D3263E7013F91DCDB0D884 /* Embed Frameworks */, 7A7AFF7C6576A774E896CA81 /* Frameworks */, - D7D49C700E61AD934CB264D9 /* [CP] Embed Pods Frameworks */, + 0C74D11919A01AD7554A273D /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -703,6 +703,23 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ + 0C74D11919A01AD7554A273D /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; 2F7B6AB35D89AA83D514ECC2 /* SwiftFormat */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -721,48 +738,38 @@ shellPath = /bin/sh; shellScript = "if [ -z \"$CI\" ]; then\n \"${PODS_ROOT}/SwiftFormat/CommandLineTool/swiftformat\" \"$SRCROOT\"\nfi"; }; - 39FC727B9CFF4D96A65DC76C /* [CP] Check Pods Manifest.lock */ = { + 385B706DD2EEB28993C1A115 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-sampleTests-checkManifestLockResult.txt", + "${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 686E2E282EDE9D3251BAE831 /* [CP] Check Pods Manifest.lock */ = { + 76AC939B6D28EAFA729FFE49 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-sample-checkManifestLockResult.txt", + "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; 7EB246CFC1E0CCBA652DC37E /* R.swift */ = { @@ -803,7 +810,7 @@ shellPath = /bin/sh; shellScript = "PATH_TO_GOOGLE_PLISTS=\"$SRCROOT/$PROJECT_NAME/Configurations/Plists/GoogleService\"\n\ncase \"${CONFIGURATION}\" in\n\"Debug Staging\" | \"Release Staging\" )\ncp -r \"$PATH_TO_GOOGLE_PLISTS/Staging/GoogleService-Info.plist\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist\"\n;;\n\"Debug Production\" | \"Release Production\" )\ncp -r \"$PATH_TO_GOOGLE_PLISTS/Production/GoogleService-Info.plist\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist\"\n;;\n*)\n;;\nesac"; }; - 863BBDD7C3C0C1CF3CF1DB19 /* [CP] Check Pods Manifest.lock */ = { + 934CFE219806147EC7B9FAFB /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -825,23 +832,6 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - A0412FC8DAD4BE37F820F07F /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; B2B621CC2B1F4F58601CD98D /* Sourcery */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -860,21 +850,26 @@ shellPath = /bin/sh; shellScript = "\"$PODS_ROOT/Sourcery/bin/sourcery\""; }; - C8AB47D41832EAC1071B05F3 /* [CP] Embed Pods Frameworks */ = { + B8C7AD9CBCE2A740E7EB604B /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-sampleTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; CF26733D03C8D33F8823EE1F /* SwiftLint */ = { @@ -895,24 +890,25 @@ shellPath = /bin/sh; shellScript = "if [ -z \"$CI\" ]; then\n ${PODS_ROOT}/SwiftLint/swiftlint\nfi"; }; - D7D49C700E61AD934CB264D9 /* [CP] Embed Pods Frameworks */ = { + EF3878B82E1CD4611A640906 /* SwiftFormat Lint */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + ); + name = "SwiftFormat Lint"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks.sh\"\n"; - showEnvVarsInLog = 0; + shellScript = "if [ -z \"$CI\" ]; then\n \"${PODS_ROOT}/SwiftFormat/CommandLineTool/swiftformat\" \"$SRCROOT\" --lint --lenient\nfi"; }; - EF3878B82E1CD4611A640906 /* SwiftFormat Lint */ = { + F1C6ED8E01F5B0FADA67B99F /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -920,15 +916,19 @@ inputFileListPaths = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); - name = "SwiftFormat Lint"; + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( ); outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-sample-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "if [ -z \"$CI\" ]; then\n \"${PODS_ROOT}/SwiftFormat/CommandLineTool/swiftformat\" \"$SRCROOT\" --lint --lenient\nfi"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -989,7 +989,7 @@ /* Begin XCBuildConfiguration section */ 21ACBFF0B81C5FE1926420D2 /* Debug Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B146DF93DCB999E8F123622F /* Pods-sample-sampleKIFUITests.debug production.xcconfig */; + baseConfigurationReference = 860CBCD4372CBC5651DEB560 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1014,7 +1014,7 @@ }; 252EA76B363BC50D825D8BD6 /* Debug Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AE0CF0C245FB9943531EF761 /* Pods-sampleTests.debug staging.xcconfig */; + baseConfigurationReference = F9C046E6F0A8FCABC89C33F7 /* Pods-sampleTests.debug staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1039,7 +1039,7 @@ }; 388E6BE620787A06CA1CA7EE /* Release Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0BCF19A5375E93BF9C942225 /* Pods-sample.release staging.xcconfig */; + baseConfigurationReference = D1A91ED0BA7C0A1603E30DB4 /* Pods-sample.release staging.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1063,7 +1063,7 @@ }; 38F81F703A83D6A307430059 /* Release Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6F080B23C7178CD2CFC2B05A /* Pods-sample-sampleKIFUITests.release production.xcconfig */; + baseConfigurationReference = A6AAE2CA775C19ADA3366523 /* Pods-sample-sampleKIFUITests.release production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1087,7 +1087,7 @@ }; 3BEDFE87FC2F0AE206422087 /* Release Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2927BAB1011DB30431608F64 /* Pods-sampleTests.release production.xcconfig */; + baseConfigurationReference = F2956EA0053D2430CDE6D722 /* Pods-sampleTests.release production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1111,7 +1111,7 @@ }; 3E22885F8CD58F60301062E2 /* Release Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C536E515E432EEB5FBE11437 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */; + baseConfigurationReference = F33C5EAEC3F175EC2F58780F /* Pods-sample-sampleKIFUITests.release staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1135,7 +1135,7 @@ }; 4C1D6824327C0FD7CA0FD5EA /* Release Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 62B6171C4C91813ECB1DF75E /* Pods-sample.release production.xcconfig */; + baseConfigurationReference = 553F4F5F3B18AA69D51D07BE /* Pods-sample.release production.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1218,7 +1218,7 @@ }; 65EFF1C45B23F50B02803EAD /* Debug Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 38A8A2CC447536E67C385186 /* Pods-sample.debug staging.xcconfig */; + baseConfigurationReference = D5618C7C53FE04C410AD463E /* Pods-sample.debug staging.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1243,7 +1243,7 @@ }; 944F5AFF63FDFD18DB25D45F /* Debug Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 606171EF11F973892AEAB8DA /* Pods-sample.debug production.xcconfig */; + baseConfigurationReference = A02644E4F3BC5C9A90ECEB14 /* Pods-sample.debug production.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1268,7 +1268,7 @@ }; A6CE62F8A695FBBC221E4690 /* Debug Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 19B1D01C0FFDEFDD3F05342A /* Pods-sampleTests.debug production.xcconfig */; + baseConfigurationReference = 2F8978C3591F3AB9383044FF /* Pods-sampleTests.debug production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1293,7 +1293,7 @@ }; B7E6733E7030283A3E74681B /* Debug Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9A4BBFF97444287D71ED302D /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */; + baseConfigurationReference = 330A23F4CE7E9A19F2093D0B /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1371,7 +1371,7 @@ }; BD91BBB9D406D96A13EB8291 /* Release Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0E7E6676709AED47520348BC /* Pods-sampleTests.release staging.xcconfig */; + baseConfigurationReference = A7271EDFCF811F6A05025108 /* Pods-sampleTests.release staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; From ea8c6e1ca4bcf6d65d604460534b170400ef6806 Mon Sep 17 00:00:00 2001 From: team-nimblehq Date: Thu, 2 Nov 2023 02:16:25 +0000 Subject: [PATCH 10/25] [Chore] Generate & update sample project --- sample/ios/sample.xcodeproj/project.pbxproj | 210 ++++++++++---------- 1 file changed, 105 insertions(+), 105 deletions(-) diff --git a/sample/ios/sample.xcodeproj/project.pbxproj b/sample/ios/sample.xcodeproj/project.pbxproj index c26044ae..d645bfd5 100644 --- a/sample/ios/sample.xcodeproj/project.pbxproj +++ b/sample/ios/sample.xcodeproj/project.pbxproj @@ -8,7 +8,6 @@ /* Begin PBXBuildFile section */ 0B975608DEB5FC5F00024E82 /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = EFE5D281FD0FFFF44FC92B04 /* .gitkeep */; }; - 0EE7FD27249647592242C197 /* Pods_sampleTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6EDCEB080889CA664E478E42 /* Pods_sampleTests.framework */; }; 0FCD70BBC15623E2843E571B /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = E4C58806C2B28AED0873F8AF /* .gitkeep */; }; 18B4C2A55909888C5D0EDFDA /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6432B427D5097BCF75C4B15E /* AppDelegate.swift */; }; 1F3B8CA45E426F2E4BA8A41C /* R.generated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EEB8F8EE4393D2D9AC51316 /* R.generated.swift */; }; @@ -24,15 +23,16 @@ 8A43095CEA3F4C83584AB199 /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = 05F57F86A37A0E0B6CC54CB4 /* .gitkeep */; }; 9726C56684473F7E78415A58 /* Navigator+Scene.swift in Sources */ = {isa = PBXBuildFile; fileRef = A64B0E7B034D526205048030 /* Navigator+Scene.swift */; }; 9ACA6A5E938E3365302C3749 /* Navigator.swift in Sources */ = {isa = PBXBuildFile; fileRef = C159B27C88C08E8AEB22AFD4 /* Navigator.swift */; }; - A78D67514B8AC97B88CDCBC4 /* Pods_sample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3BB58294E82C501E26FEB849 /* Pods_sample.framework */; }; BA754F29AB917D745895322D /* Constants+API.swift in Sources */ = {isa = PBXBuildFile; fileRef = 222B1BD9F71FF1797F160231 /* Constants+API.swift */; }; + BE1F33C39E645B99E92A9620 /* Pods_sample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4190B7F311D414EA7C69541D /* Pods_sample.framework */; }; C152F2B63E42238BE4F20592 /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82F5C2293A2DB24CDCA81957 /* Constants.swift */; }; CA324314BE7318252E4D5D62 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 6952456309E29C9609D23B3F /* LaunchScreen.storyboard */; }; D609A7DCE8B3E7A49CFACC2E /* Navigator+Transition.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9816C413C0D0DD7B01BA9CE /* Navigator+Transition.swift */; }; DE665FDD6164065A881A2F44 /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = 67C0EA707F4FBB459FEBA640 /* .gitkeep */; }; + E9E346C6330D5794FA1529C7 /* Pods_sample_sampleKIFUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A715FDE61E353810B73F17D7 /* Pods_sample_sampleKIFUITests.framework */; }; + ED0BDAA03E6F1998C468A6AC /* Pods_sampleTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EE088C41C16F0A28F8DC4C91 /* Pods_sampleTests.framework */; }; F444409E14F8ED6BF6A2666A /* KIF+Swift.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFAE58D40BFE459B1184D994 /* KIF+Swift.swift */; }; F858855AD6392D182B853A79 /* Optional+Unwrap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 562EF605C844B951CD47F38D /* Optional+Unwrap.swift */; }; - FBE45670DD1F912EE7620D94 /* Pods_sample_sampleKIFUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B80B6F79B3BF91AA85513465 /* Pods_sample_sampleKIFUITests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -86,53 +86,53 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 03FCC9D75D4E31BB5A6DECA8 /* Pods-sampleTests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release staging.xcconfig"; sourceTree = ""; }; 04B8796D7472561BF8EB10A1 /* DebugProduction.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = DebugProduction.xcconfig; sourceTree = ""; }; 05F57F86A37A0E0B6CC54CB4 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; 18C176717B282B7A8842FC73 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; 1EEB8F8EE4393D2D9AC51316 /* R.generated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = R.generated.swift; sourceTree = ""; }; 222B1BD9F71FF1797F160231 /* Constants+API.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Constants+API.swift"; sourceTree = ""; }; - 2F8978C3591F3AB9383044FF /* Pods-sampleTests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug production.xcconfig"; sourceTree = ""; }; 302BB730B8D0BF901FF489B6 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; - 330A23F4CE7E9A19F2093D0B /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug staging.xcconfig"; sourceTree = ""; }; - 3BB58294E82C501E26FEB849 /* Pods_sample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 31945506574838197E2903D7 /* Pods-sample.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release production.xcconfig"; sourceTree = ""; }; + 37357A3787FCE24AC6C02EA5 /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug staging.xcconfig"; sourceTree = ""; }; 41210B648761A8DC4ABD3BB9 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; 414B86B12605C252A692EA37 /* sampleKIFUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = sampleKIFUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 553F4F5F3B18AA69D51D07BE /* Pods-sample.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release production.xcconfig"; sourceTree = ""; }; + 4190B7F311D414EA7C69541D /* Pods_sample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 562EF605C844B951CD47F38D /* Optional+Unwrap.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Optional+Unwrap.swift"; sourceTree = ""; }; 6432B427D5097BCF75C4B15E /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 647CE7E17E586CA085541134 /* Pods-sample-sampleKIFUITests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release production.xcconfig"; sourceTree = ""; }; + 66E07E3F1A0D85D8C061CED2 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release staging.xcconfig"; sourceTree = ""; }; 67C0EA707F4FBB459FEBA640 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; 6952456309E29C9609D23B3F /* LaunchScreen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = ""; }; - 6EDCEB080889CA664E478E42 /* Pods_sampleTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sampleTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 7DEBF92F62C90647A0B5EE06 /* Pods-sampleTests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug staging.xcconfig"; sourceTree = ""; }; 82F5C2293A2DB24CDCA81957 /* Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = ""; }; - 860CBCD4372CBC5651DEB560 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug production.xcconfig"; sourceTree = ""; }; + 89F38AEF619D2656CACEF801 /* Pods-sampleTests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug production.xcconfig"; sourceTree = ""; }; 8CA52B4C8C3AF1CB2181C14D /* UseCaseFactoryProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UseCaseFactoryProtocol.swift; sourceTree = ""; }; - A02644E4F3BC5C9A90ECEB14 /* Pods-sample.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug production.xcconfig"; sourceTree = ""; }; A29F97F67192DE9B66E872E6 /* Color+Application.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Color+Application.swift"; sourceTree = ""; }; + A30301E7B105B3B9E0C6668E /* Pods-sample.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug staging.xcconfig"; sourceTree = ""; }; A64B0E7B034D526205048030 /* Navigator+Scene.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Navigator+Scene.swift"; sourceTree = ""; }; - A6AAE2CA775C19ADA3366523 /* Pods-sample-sampleKIFUITests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release production.xcconfig"; sourceTree = ""; }; - A7271EDFCF811F6A05025108 /* Pods-sampleTests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release staging.xcconfig"; sourceTree = ""; }; + A715FDE61E353810B73F17D7 /* Pods_sample_sampleKIFUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample_sampleKIFUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; ADE63A1C257C06E1D05C8136 /* DebugStaging.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = DebugStaging.xcconfig; sourceTree = ""; }; - B80B6F79B3BF91AA85513465 /* Pods_sample_sampleKIFUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample_sampleKIFUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; B8847183C3FF3D70FE4192CD /* sampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = sampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + BA25537B4E6A497D450B4203 /* Pods-sample.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release staging.xcconfig"; sourceTree = ""; }; BBD1568B768046A18E011F2C /* HomeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeViewController.swift; sourceTree = ""; }; BBF1B234787FCD92142B105D /* AutoMockable.generated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutoMockable.generated.swift; sourceTree = ""; }; BD9D9C9A495C5EA0AE9039C6 /* ReleaseProduction.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = ReleaseProduction.xcconfig; sourceTree = ""; }; C159B27C88C08E8AEB22AFD4 /* Navigator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Navigator.swift; sourceTree = ""; }; CD3A7C3AC94E15DEC4F12A85 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; CDBCDCBA1D855D7023A0342F /* UIView+Subviews.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIView+Subviews.swift"; sourceTree = ""; }; - D1A91ED0BA7C0A1603E30DB4 /* Pods-sample.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release staging.xcconfig"; sourceTree = ""; }; + D28C0DC4E08A49A645E0438C /* Pods-sample.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug production.xcconfig"; sourceTree = ""; }; D2D7345A2017D2D372785123 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; D2F657F289C5314152FFCFA2 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - D5618C7C53FE04C410AD463E /* Pods-sample.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug staging.xcconfig"; sourceTree = ""; }; E4C58806C2B28AED0873F8AF /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; + E99747C8D92ED54D6500882E /* Pods-sampleTests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release production.xcconfig"; sourceTree = ""; }; + EE088C41C16F0A28F8DC4C91 /* Pods_sampleTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sampleTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; EFAE58D40BFE459B1184D994 /* KIF+Swift.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "KIF+Swift.swift"; sourceTree = ""; }; EFE5D281FD0FFFF44FC92B04 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; - F2956EA0053D2430CDE6D722 /* Pods-sampleTests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release production.xcconfig"; sourceTree = ""; }; - F33C5EAEC3F175EC2F58780F /* Pods-sample-sampleKIFUITests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release staging.xcconfig"; sourceTree = ""; }; + F5B48BF215BC20D3F0239C34 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug production.xcconfig"; sourceTree = ""; }; F5B819017A28FE15B242BB5B /* Typealiases.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Typealiases.swift; sourceTree = ""; }; F854F7439696BB6B30145F6D /* ReleaseStaging.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = ReleaseStaging.xcconfig; sourceTree = ""; }; F9816C413C0D0DD7B01BA9CE /* Navigator+Transition.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Navigator+Transition.swift"; sourceTree = ""; }; - F9C046E6F0A8FCABC89C33F7 /* Pods-sampleTests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug staging.xcconfig"; sourceTree = ""; }; FB7E8789ADE1FB388671EEB3 /* sample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = sample.app; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ @@ -141,7 +141,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - FBE45670DD1F912EE7620D94 /* Pods_sample_sampleKIFUITests.framework in Frameworks */, + E9E346C6330D5794FA1529C7 /* Pods_sample_sampleKIFUITests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -149,7 +149,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 0EE7FD27249647592242C197 /* Pods_sampleTests.framework in Frameworks */, + ED0BDAA03E6F1998C468A6AC /* Pods_sampleTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -157,7 +157,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A78D67514B8AC97B88CDCBC4 /* Pods_sample.framework in Frameworks */, + BE1F33C39E645B99E92A9620 /* Pods_sample.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -198,6 +198,26 @@ path = Plists; sourceTree = ""; }; + 299A45C2ADDD2248553A167A /* Pods */ = { + isa = PBXGroup; + children = ( + D28C0DC4E08A49A645E0438C /* Pods-sample.debug production.xcconfig */, + A30301E7B105B3B9E0C6668E /* Pods-sample.debug staging.xcconfig */, + 31945506574838197E2903D7 /* Pods-sample.release production.xcconfig */, + BA25537B4E6A497D450B4203 /* Pods-sample.release staging.xcconfig */, + F5B48BF215BC20D3F0239C34 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */, + 37357A3787FCE24AC6C02EA5 /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */, + 647CE7E17E586CA085541134 /* Pods-sample-sampleKIFUITests.release production.xcconfig */, + 66E07E3F1A0D85D8C061CED2 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */, + 89F38AEF619D2656CACEF801 /* Pods-sampleTests.debug production.xcconfig */, + 7DEBF92F62C90647A0B5EE06 /* Pods-sampleTests.debug staging.xcconfig */, + E99747C8D92ED54D6500882E /* Pods-sampleTests.release production.xcconfig */, + 03FCC9D75D4E31BB5A6DECA8 /* Pods-sampleTests.release staging.xcconfig */, + ); + name = Pods; + path = Pods; + sourceTree = ""; + }; 2E4333681DEA179B19741BC4 /* Typealiases */ = { isa = PBXGroup; children = ( @@ -261,9 +281,9 @@ 52B072A663159D9D007D540F /* Frameworks */ = { isa = PBXGroup; children = ( - 3BB58294E82C501E26FEB849 /* Pods_sample.framework */, - B80B6F79B3BF91AA85513465 /* Pods_sample_sampleKIFUITests.framework */, - 6EDCEB080889CA664E478E42 /* Pods_sampleTests.framework */, + 4190B7F311D414EA7C69541D /* Pods_sample.framework */, + A715FDE61E353810B73F17D7 /* Pods_sample_sampleKIFUITests.framework */, + EE088C41C16F0A28F8DC4C91 /* Pods_sampleTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -298,7 +318,7 @@ 9B7CF20BE2915B62911C62AA /* Project */, 52B072A663159D9D007D540F /* Frameworks */, 372816F20EC291B850EECF1F /* Products */, - 890D7B722289E2BB86BB479B /* Pods */, + 299A45C2ADDD2248553A167A /* Pods */, ); sourceTree = ""; }; @@ -339,26 +359,6 @@ path = Domain; sourceTree = ""; }; - 890D7B722289E2BB86BB479B /* Pods */ = { - isa = PBXGroup; - children = ( - A02644E4F3BC5C9A90ECEB14 /* Pods-sample.debug production.xcconfig */, - D5618C7C53FE04C410AD463E /* Pods-sample.debug staging.xcconfig */, - 553F4F5F3B18AA69D51D07BE /* Pods-sample.release production.xcconfig */, - D1A91ED0BA7C0A1603E30DB4 /* Pods-sample.release staging.xcconfig */, - 860CBCD4372CBC5651DEB560 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */, - 330A23F4CE7E9A19F2093D0B /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */, - A6AAE2CA775C19ADA3366523 /* Pods-sample-sampleKIFUITests.release production.xcconfig */, - F33C5EAEC3F175EC2F58780F /* Pods-sample-sampleKIFUITests.release staging.xcconfig */, - 2F8978C3591F3AB9383044FF /* Pods-sampleTests.debug production.xcconfig */, - F9C046E6F0A8FCABC89C33F7 /* Pods-sampleTests.debug staging.xcconfig */, - F2956EA0053D2430CDE6D722 /* Pods-sampleTests.release production.xcconfig */, - A7271EDFCF811F6A05025108 /* Pods-sampleTests.release staging.xcconfig */, - ); - name = Pods; - path = Pods; - sourceTree = ""; - }; 8D53E686161B0B57F30AE02D /* Sourcery */ = { isa = PBXGroup; children = ( @@ -570,7 +570,7 @@ isa = PBXNativeTarget; buildConfigurationList = 56FE2126489C1E87A2D918A3 /* Build configuration list for PBXNativeTarget "sample" */; buildPhases = ( - F1C6ED8E01F5B0FADA67B99F /* [CP] Check Pods Manifest.lock */, + 872CD27E30CAE141593C60EB /* [CP] Check Pods Manifest.lock */, B2B621CC2B1F4F58601CD98D /* Sourcery */, 7EB246CFC1E0CCBA652DC37E /* R.swift */, CF26733D03C8D33F8823EE1F /* SwiftLint */, @@ -580,7 +580,7 @@ 494614C33B509301DBBDAD42 /* Embed Frameworks */, 89C77BA3C707AD804F79284B /* Frameworks */, 843C67A8A78058B8D8B3D11E /* Copy GoogleService-Info.plist */, - 385B706DD2EEB28993C1A115 /* [CP] Embed Pods Frameworks */, + 1E378791F6533B7F96631F56 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -595,12 +595,12 @@ isa = PBXNativeTarget; buildConfigurationList = 31E84C030BDB7A39BCE38D8C /* Build configuration list for PBXNativeTarget "sampleKIFUITests" */; buildPhases = ( - 934CFE219806147EC7B9FAFB /* [CP] Check Pods Manifest.lock */, + A8F736C5E396A0C46BBA1E45 /* [CP] Check Pods Manifest.lock */, 21ADDF0B071B770FFB6A086A /* Sources */, 43218B877C978B4CA5B93235 /* Resources */, 392BFB718CBF57CF0D23848E /* Embed Frameworks */, 29CEF4F9FF315D4254B8BC69 /* Frameworks */, - 76AC939B6D28EAFA729FFE49 /* [CP] Embed Pods Frameworks */, + 0220FE2009071825E6DD1BA3 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -616,13 +616,13 @@ isa = PBXNativeTarget; buildConfigurationList = C3875EBB5A0F6612B3515A13 /* Build configuration list for PBXNativeTarget "sampleTests" */; buildPhases = ( - B8C7AD9CBCE2A740E7EB604B /* [CP] Check Pods Manifest.lock */, + C621E191E5BC697B407F920D /* [CP] Check Pods Manifest.lock */, 2F7B6AB35D89AA83D514ECC2 /* SwiftFormat */, 9344943859735CAEA8DDB048 /* Sources */, E472A2AC48FE9588146AB254 /* Resources */, 51D3263E7013F91DCDB0D884 /* Embed Frameworks */, 7A7AFF7C6576A774E896CA81 /* Frameworks */, - 0C74D11919A01AD7554A273D /* [CP] Embed Pods Frameworks */, + 090759437F96B06DE66D37B5 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -703,42 +703,41 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 0C74D11919A01AD7554A273D /* [CP] Embed Pods Frameworks */ = { + 0220FE2009071825E6DD1BA3 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 2F7B6AB35D89AA83D514ECC2 /* SwiftFormat */ = { + 090759437F96B06DE66D37B5 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - ); - name = SwiftFormat; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - ); - outputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "if [ -z \"$CI\" ]; then\n \"${PODS_ROOT}/SwiftFormat/CommandLineTool/swiftformat\" \"$SRCROOT\"\nfi"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks.sh\"\n"; + showEnvVarsInLog = 0; }; - 385B706DD2EEB28993C1A115 /* [CP] Embed Pods Frameworks */ = { + 1E378791F6533B7F96631F56 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -755,22 +754,23 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 76AC939B6D28EAFA729FFE49 /* [CP] Embed Pods Frameworks */ = { + 2F7B6AB35D89AA83D514ECC2 /* SwiftFormat */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + ); + name = SwiftFormat; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks.sh\"\n"; - showEnvVarsInLog = 0; + shellScript = "if [ -z \"$CI\" ]; then\n \"${PODS_ROOT}/SwiftFormat/CommandLineTool/swiftformat\" \"$SRCROOT\"\nfi"; }; 7EB246CFC1E0CCBA652DC37E /* R.swift */ = { isa = PBXShellScriptBuildPhase; @@ -810,7 +810,29 @@ shellPath = /bin/sh; shellScript = "PATH_TO_GOOGLE_PLISTS=\"$SRCROOT/$PROJECT_NAME/Configurations/Plists/GoogleService\"\n\ncase \"${CONFIGURATION}\" in\n\"Debug Staging\" | \"Release Staging\" )\ncp -r \"$PATH_TO_GOOGLE_PLISTS/Staging/GoogleService-Info.plist\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist\"\n;;\n\"Debug Production\" | \"Release Production\" )\ncp -r \"$PATH_TO_GOOGLE_PLISTS/Production/GoogleService-Info.plist\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist\"\n;;\n*)\n;;\nesac"; }; - 934CFE219806147EC7B9FAFB /* [CP] Check Pods Manifest.lock */ = { + 872CD27E30CAE141593C60EB /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-sample-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + A8F736C5E396A0C46BBA1E45 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -850,7 +872,7 @@ shellPath = /bin/sh; shellScript = "\"$PODS_ROOT/Sourcery/bin/sourcery\""; }; - B8C7AD9CBCE2A740E7EB604B /* [CP] Check Pods Manifest.lock */ = { + C621E191E5BC697B407F920D /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -908,28 +930,6 @@ shellPath = /bin/sh; shellScript = "if [ -z \"$CI\" ]; then\n \"${PODS_ROOT}/SwiftFormat/CommandLineTool/swiftformat\" \"$SRCROOT\" --lint --lenient\nfi"; }; - F1C6ED8E01F5B0FADA67B99F /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-sample-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -989,7 +989,7 @@ /* Begin XCBuildConfiguration section */ 21ACBFF0B81C5FE1926420D2 /* Debug Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 860CBCD4372CBC5651DEB560 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */; + baseConfigurationReference = F5B48BF215BC20D3F0239C34 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1014,7 +1014,7 @@ }; 252EA76B363BC50D825D8BD6 /* Debug Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F9C046E6F0A8FCABC89C33F7 /* Pods-sampleTests.debug staging.xcconfig */; + baseConfigurationReference = 7DEBF92F62C90647A0B5EE06 /* Pods-sampleTests.debug staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1039,7 +1039,7 @@ }; 388E6BE620787A06CA1CA7EE /* Release Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D1A91ED0BA7C0A1603E30DB4 /* Pods-sample.release staging.xcconfig */; + baseConfigurationReference = BA25537B4E6A497D450B4203 /* Pods-sample.release staging.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1063,7 +1063,7 @@ }; 38F81F703A83D6A307430059 /* Release Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A6AAE2CA775C19ADA3366523 /* Pods-sample-sampleKIFUITests.release production.xcconfig */; + baseConfigurationReference = 647CE7E17E586CA085541134 /* Pods-sample-sampleKIFUITests.release production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1087,7 +1087,7 @@ }; 3BEDFE87FC2F0AE206422087 /* Release Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F2956EA0053D2430CDE6D722 /* Pods-sampleTests.release production.xcconfig */; + baseConfigurationReference = E99747C8D92ED54D6500882E /* Pods-sampleTests.release production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1111,7 +1111,7 @@ }; 3E22885F8CD58F60301062E2 /* Release Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F33C5EAEC3F175EC2F58780F /* Pods-sample-sampleKIFUITests.release staging.xcconfig */; + baseConfigurationReference = 66E07E3F1A0D85D8C061CED2 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1135,7 +1135,7 @@ }; 4C1D6824327C0FD7CA0FD5EA /* Release Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 553F4F5F3B18AA69D51D07BE /* Pods-sample.release production.xcconfig */; + baseConfigurationReference = 31945506574838197E2903D7 /* Pods-sample.release production.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1218,7 +1218,7 @@ }; 65EFF1C45B23F50B02803EAD /* Debug Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D5618C7C53FE04C410AD463E /* Pods-sample.debug staging.xcconfig */; + baseConfigurationReference = A30301E7B105B3B9E0C6668E /* Pods-sample.debug staging.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1243,7 +1243,7 @@ }; 944F5AFF63FDFD18DB25D45F /* Debug Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A02644E4F3BC5C9A90ECEB14 /* Pods-sample.debug production.xcconfig */; + baseConfigurationReference = D28C0DC4E08A49A645E0438C /* Pods-sample.debug production.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1268,7 +1268,7 @@ }; A6CE62F8A695FBBC221E4690 /* Debug Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2F8978C3591F3AB9383044FF /* Pods-sampleTests.debug production.xcconfig */; + baseConfigurationReference = 89F38AEF619D2656CACEF801 /* Pods-sampleTests.debug production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1293,7 +1293,7 @@ }; B7E6733E7030283A3E74681B /* Debug Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 330A23F4CE7E9A19F2093D0B /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */; + baseConfigurationReference = 37357A3787FCE24AC6C02EA5 /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1371,7 +1371,7 @@ }; BD91BBB9D406D96A13EB8291 /* Release Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A7271EDFCF811F6A05025108 /* Pods-sampleTests.release staging.xcconfig */; + baseConfigurationReference = 03FCC9D75D4E31BB5A6DECA8 /* Pods-sampleTests.release staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; From 3beea1ebf7ae82fdc70c596f0315a6ff47d8398d Mon Sep 17 00:00:00 2001 From: "Luong Vo (Lucas)" Date: Tue, 7 Nov 2023 22:47:47 +0700 Subject: [PATCH 11/25] [#30] Keep buildKonfig.properties and ignore CONTRIBUTING.md --- buildKonfig.properties => buildKonfig.properties.sample | 0 make.sh | 1 + sample/.gitignore | 3 +++ 3 files changed, 4 insertions(+) rename buildKonfig.properties => buildKonfig.properties.sample (100%) diff --git a/buildKonfig.properties b/buildKonfig.properties.sample similarity index 100% rename from buildKonfig.properties rename to buildKonfig.properties.sample diff --git a/make.sh b/make.sh index fd01f516..1ac64443 100755 --- a/make.sh +++ b/make.sh @@ -119,6 +119,7 @@ rsync -av \ --exclude '.git' \ --exclude '.gitmodules' \ --exclude 'make.sh' \ + --exclude 'CONTRIBUTING.md' \ --exclude '/scripts' \ --exclude '/custom' \ --exclude '/android' \ diff --git a/sample/.gitignore b/sample/.gitignore index 6b4bee79..fbcba143 100644 --- a/sample/.gitignore +++ b/sample/.gitignore @@ -12,6 +12,9 @@ /test/version_tmp/ /tmp/ +# Keystore +config/release.keystore + signing.properties # Used by dotenv library to load environment variables. From db275cabb93d1b9dd48fd0acd08b4a1f07754ddb Mon Sep 17 00:00:00 2001 From: team-nimblehq Date: Wed, 8 Nov 2023 07:55:38 +0000 Subject: [PATCH 12/25] [Chore] Generate & update sample project --- sample/.gitignore | 3 - sample/CONTRIBUTING.md | 29 --- sample/buildKonfig.properties.sample | 4 + sample/ios/Gemfile.lock | 20 +- sample/ios/Podfile.lock | 10 +- sample/ios/sample.xcodeproj/project.pbxproj | 232 ++++++++++---------- 6 files changed, 135 insertions(+), 163 deletions(-) delete mode 100644 sample/CONTRIBUTING.md create mode 100644 sample/buildKonfig.properties.sample diff --git a/sample/.gitignore b/sample/.gitignore index fbcba143..6b4bee79 100644 --- a/sample/.gitignore +++ b/sample/.gitignore @@ -12,9 +12,6 @@ /test/version_tmp/ /tmp/ -# Keystore -config/release.keystore - signing.properties # Used by dotenv library to load environment variables. diff --git a/sample/CONTRIBUTING.md b/sample/CONTRIBUTING.md deleted file mode 100644 index 3f2bbf4b..00000000 --- a/sample/CONTRIBUTING.md +++ /dev/null @@ -1,29 +0,0 @@ -# Welcome to the KMM Templates contributing guide - -Thank you for investing your time in contributing to our project! :sparkles: - -## Getting started - -### Git Submodules - -- To add a submodule with default source branch (develop/main) - ``` - $ git submodule add - ``` - For example, - ``` - $ git submodule add git@github.com:nimblehq/android-templates.git android - ``` -- To add a submodule with a specific source branch - ``` - $ git submodule add -b - ``` - For example, - ``` - $ git submodule add -b feature/kmm-support-upgrade-to-gradle-8 git@github.com:nimblehq/android-templates.git android - ``` -- To remove a submodule - ``` - $ git rm android - ``` - Also, remove the cached repository of the submodule at `.git/modules/` if nescessary. diff --git a/sample/buildKonfig.properties.sample b/sample/buildKonfig.properties.sample new file mode 100644 index 00000000..9238fa78 --- /dev/null +++ b/sample/buildKonfig.properties.sample @@ -0,0 +1,4 @@ +# Staging env +STAGING_BASE_URL= +# Production env +PRODUCTION_BASE_URL= diff --git a/sample/ios/Gemfile.lock b/sample/ios/Gemfile.lock index f1fd300e..ccf75981 100644 --- a/sample/ios/Gemfile.lock +++ b/sample/ios/Gemfile.lock @@ -25,8 +25,8 @@ GEM artifactory (3.0.15) atomos (0.1.3) aws-eventstream (1.2.0) - aws-partitions (1.843.0) - aws-sdk-core (3.185.2) + aws-partitions (1.847.0) + aws-sdk-core (3.186.0) aws-eventstream (~> 1, >= 1.0.2) aws-partitions (~> 1, >= 1.651.0) aws-sigv4 (~> 1.5) @@ -41,7 +41,7 @@ GEM aws-sigv4 (1.6.1) aws-eventstream (~> 1, >= 1.0.2) babosa (1.0.4) - base64 (0.1.1) + base64 (0.2.0) bigdecimal (3.1.4) claide (1.1.0) claide-plugins (0.9.2) @@ -126,7 +126,7 @@ GEM domain_name (0.5.20190701) unf (>= 0.0.5, < 1.0.0) dotenv (2.8.1) - drb (2.1.1) + drb (2.2.0) ruby2_keywords emoji_regex (3.2.3) escape (0.0.4) @@ -230,19 +230,19 @@ GEM google-apis-core (>= 0.11.0, < 2.a) google-apis-playcustomapp_v1 (0.13.0) google-apis-core (>= 0.11.0, < 2.a) - google-apis-storage_v1 (0.19.0) - google-apis-core (>= 0.9.0, < 2.a) + google-apis-storage_v1 (0.29.0) + google-apis-core (>= 0.11.0, < 2.a) google-cloud-core (1.6.0) google-cloud-env (~> 1.0) google-cloud-errors (~> 1.0) google-cloud-env (1.6.0) faraday (>= 0.17.3, < 3.0) google-cloud-errors (1.3.1) - google-cloud-storage (1.44.0) + google-cloud-storage (1.45.0) addressable (~> 2.8) digest-crc (~> 0.4) google-apis-iamcredentials_v1 (~> 0.1) - google-apis-storage_v1 (~> 0.19.0) + google-apis-storage_v1 (~> 0.29.0) google-cloud-core (~> 1.6) googleauth (>= 0.16.2, < 2.a) mini_mime (~> 1.0) @@ -271,7 +271,7 @@ GEM molinillo (0.8.0) multi_json (1.15.0) multipart-post (2.3.0) - mutex_m (0.1.2) + mutex_m (0.2.0) nanaimo (0.3.0) nap (1.1.0) naturally (2.2.1) @@ -350,7 +350,7 @@ GEM xcpretty-travis-formatter (1.0.1) xcpretty (~> 0.2, >= 0.0.7) xcresult (0.2.1) - yaml (0.2.1) + yaml (0.3.0) PLATFORMS x86_64-darwin-21 diff --git a/sample/ios/Podfile.lock b/sample/ios/Podfile.lock index b8122bd3..1ed17127 100644 --- a/sample/ios/Podfile.lock +++ b/sample/ios/Podfile.lock @@ -42,12 +42,12 @@ PODS: - GoogleUtilities/Environment (~> 7.7) - nanopb (< 2.30910.0, >= 2.30908.0) - PromisesObjC (< 3.0, >= 1.2) - - GoogleUtilities/Environment (7.11.6): + - GoogleUtilities/Environment (7.12.0): - PromisesObjC (< 3.0, >= 1.2) - - GoogleUtilities/Logger (7.11.6): + - GoogleUtilities/Logger (7.12.0): - GoogleUtilities/Environment - - "GoogleUtilities/NSData+zlib (7.11.6)" - - GoogleUtilities/UserDefaults (7.11.6): + - "GoogleUtilities/NSData+zlib (7.12.0)" + - GoogleUtilities/UserDefaults (7.12.0): - GoogleUtilities/Logger - IQKeyboardManagerSwift (6.5.16) - KeychainAccess (4.2.2) @@ -191,7 +191,7 @@ SPEC CHECKSUMS: FirebaseInstallations: 9387bf15abfc69a714f54e54f74a251264fdb79b FirebaseSessions: 49f39e5c10e3f9fdd38d01b748329bae2a2fa8ed GoogleDataTransport: 54dee9d48d14580407f8f5fbf2f496e92437a2f2 - GoogleUtilities: 202e7a9f5128accd11160fb9c19612de1911aa19 + GoogleUtilities: 0759d1a57ebb953965c2dfe0ba4c82e95ccc2e34 IQKeyboardManagerSwift: 12d89768845bb77b55cc092ecc2b1f9370f06b76 KeychainAccess: c0c4f7f38f6fc7bbe58f5702e25f7bd2f65abf51 KIF: 7660c626b0f2d4562533590960db70a36d640558 diff --git a/sample/ios/sample.xcodeproj/project.pbxproj b/sample/ios/sample.xcodeproj/project.pbxproj index d645bfd5..65c09901 100644 --- a/sample/ios/sample.xcodeproj/project.pbxproj +++ b/sample/ios/sample.xcodeproj/project.pbxproj @@ -9,12 +9,15 @@ /* Begin PBXBuildFile section */ 0B975608DEB5FC5F00024E82 /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = EFE5D281FD0FFFF44FC92B04 /* .gitkeep */; }; 0FCD70BBC15623E2843E571B /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = E4C58806C2B28AED0873F8AF /* .gitkeep */; }; + 10108BE2F49183ECA3173184 /* Pods_sampleTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A142B771EB284E7D3DAC0CBA /* Pods_sampleTests.framework */; }; + 1492566D5C4B64ED0F8F8076 /* Pods_sample_sampleKIFUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EB49354EF3BBBFB72256D9A9 /* Pods_sample_sampleKIFUITests.framework */; }; 18B4C2A55909888C5D0EDFDA /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6432B427D5097BCF75C4B15E /* AppDelegate.swift */; }; 1F3B8CA45E426F2E4BA8A41C /* R.generated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EEB8F8EE4393D2D9AC51316 /* R.generated.swift */; }; 20FF012BAC088FFC92962E28 /* UIView+Subviews.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDBCDCBA1D855D7023A0342F /* UIView+Subviews.swift */; }; 33209CEB34C04BC32D0FFDD4 /* UseCaseFactoryProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CA52B4C8C3AF1CB2181C14D /* UseCaseFactoryProtocol.swift */; }; 3559AC5988194A4701902F80 /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = 302BB730B8D0BF901FF489B6 /* .gitkeep */; }; 53157A77A8B802D108AE9D73 /* Typealiases.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5B819017A28FE15B242BB5B /* Typealiases.swift */; }; + 5CA5D04FEF70E8AF92616069 /* Pods_sample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CF4F92EC45F4BB17AE4E8E36 /* Pods_sample.framework */; }; 66C817ACCA7CE15ABF58BC06 /* HomeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBD1568B768046A18E011F2C /* HomeViewController.swift */; }; 701258D40CE69EC8168A3D12 /* AutoMockable.generated.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBF1B234787FCD92142B105D /* AutoMockable.generated.swift */; }; 7CF0F8933FB47F5D003383AA /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = 41210B648761A8DC4ABD3BB9 /* .gitkeep */; }; @@ -24,13 +27,10 @@ 9726C56684473F7E78415A58 /* Navigator+Scene.swift in Sources */ = {isa = PBXBuildFile; fileRef = A64B0E7B034D526205048030 /* Navigator+Scene.swift */; }; 9ACA6A5E938E3365302C3749 /* Navigator.swift in Sources */ = {isa = PBXBuildFile; fileRef = C159B27C88C08E8AEB22AFD4 /* Navigator.swift */; }; BA754F29AB917D745895322D /* Constants+API.swift in Sources */ = {isa = PBXBuildFile; fileRef = 222B1BD9F71FF1797F160231 /* Constants+API.swift */; }; - BE1F33C39E645B99E92A9620 /* Pods_sample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4190B7F311D414EA7C69541D /* Pods_sample.framework */; }; C152F2B63E42238BE4F20592 /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82F5C2293A2DB24CDCA81957 /* Constants.swift */; }; CA324314BE7318252E4D5D62 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 6952456309E29C9609D23B3F /* LaunchScreen.storyboard */; }; D609A7DCE8B3E7A49CFACC2E /* Navigator+Transition.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9816C413C0D0DD7B01BA9CE /* Navigator+Transition.swift */; }; DE665FDD6164065A881A2F44 /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = 67C0EA707F4FBB459FEBA640 /* .gitkeep */; }; - E9E346C6330D5794FA1529C7 /* Pods_sample_sampleKIFUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A715FDE61E353810B73F17D7 /* Pods_sample_sampleKIFUITests.framework */; }; - ED0BDAA03E6F1998C468A6AC /* Pods_sampleTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EE088C41C16F0A28F8DC4C91 /* Pods_sampleTests.framework */; }; F444409E14F8ED6BF6A2666A /* KIF+Swift.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFAE58D40BFE459B1184D994 /* KIF+Swift.swift */; }; F858855AD6392D182B853A79 /* Optional+Unwrap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 562EF605C844B951CD47F38D /* Optional+Unwrap.swift */; }; /* End PBXBuildFile section */ @@ -86,50 +86,50 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 03FCC9D75D4E31BB5A6DECA8 /* Pods-sampleTests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release staging.xcconfig"; sourceTree = ""; }; 04B8796D7472561BF8EB10A1 /* DebugProduction.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = DebugProduction.xcconfig; sourceTree = ""; }; 05F57F86A37A0E0B6CC54CB4 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; + 0CA70F525D0A7A0F9E072286 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug production.xcconfig"; sourceTree = ""; }; 18C176717B282B7A8842FC73 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; 1EEB8F8EE4393D2D9AC51316 /* R.generated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = R.generated.swift; sourceTree = ""; }; 222B1BD9F71FF1797F160231 /* Constants+API.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Constants+API.swift"; sourceTree = ""; }; + 228CED570D8374D22174ED2B /* Pods-sample-sampleKIFUITests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release production.xcconfig"; sourceTree = ""; }; 302BB730B8D0BF901FF489B6 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; - 31945506574838197E2903D7 /* Pods-sample.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release production.xcconfig"; sourceTree = ""; }; - 37357A3787FCE24AC6C02EA5 /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug staging.xcconfig"; sourceTree = ""; }; 41210B648761A8DC4ABD3BB9 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; 414B86B12605C252A692EA37 /* sampleKIFUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = sampleKIFUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 4190B7F311D414EA7C69541D /* Pods_sample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 429558BA19A144BC7895418B /* Pods-sampleTests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release production.xcconfig"; sourceTree = ""; }; 562EF605C844B951CD47F38D /* Optional+Unwrap.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Optional+Unwrap.swift"; sourceTree = ""; }; + 5951987374231B70B57D1606 /* Pods-sampleTests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release staging.xcconfig"; sourceTree = ""; }; 6432B427D5097BCF75C4B15E /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 647CE7E17E586CA085541134 /* Pods-sample-sampleKIFUITests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release production.xcconfig"; sourceTree = ""; }; - 66E07E3F1A0D85D8C061CED2 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release staging.xcconfig"; sourceTree = ""; }; 67C0EA707F4FBB459FEBA640 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; 6952456309E29C9609D23B3F /* LaunchScreen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = ""; }; - 7DEBF92F62C90647A0B5EE06 /* Pods-sampleTests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug staging.xcconfig"; sourceTree = ""; }; + 768D4997A98D3A2974D8E2F0 /* Pods-sample.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release staging.xcconfig"; sourceTree = ""; }; 82F5C2293A2DB24CDCA81957 /* Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = ""; }; - 89F38AEF619D2656CACEF801 /* Pods-sampleTests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug production.xcconfig"; sourceTree = ""; }; + 8B62D36F1020145A3C86CAD3 /* Pods-sample.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug production.xcconfig"; sourceTree = ""; }; 8CA52B4C8C3AF1CB2181C14D /* UseCaseFactoryProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UseCaseFactoryProtocol.swift; sourceTree = ""; }; + 9E076EBB370491BA2376E1B5 /* Pods-sample.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug staging.xcconfig"; sourceTree = ""; }; + A142B771EB284E7D3DAC0CBA /* Pods_sampleTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sampleTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; A29F97F67192DE9B66E872E6 /* Color+Application.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Color+Application.swift"; sourceTree = ""; }; - A30301E7B105B3B9E0C6668E /* Pods-sample.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug staging.xcconfig"; sourceTree = ""; }; A64B0E7B034D526205048030 /* Navigator+Scene.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Navigator+Scene.swift"; sourceTree = ""; }; - A715FDE61E353810B73F17D7 /* Pods_sample_sampleKIFUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample_sampleKIFUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + A74D5E2A0D525D10481E7250 /* Pods-sample.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release production.xcconfig"; sourceTree = ""; }; + AA2A9285ED13FB9B9FFA7B31 /* Pods-sampleTests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug staging.xcconfig"; sourceTree = ""; }; ADE63A1C257C06E1D05C8136 /* DebugStaging.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = DebugStaging.xcconfig; sourceTree = ""; }; + AFF75F2D06F6FA309CECB63D /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug staging.xcconfig"; sourceTree = ""; }; + B61854C5388B396A5974BAD6 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release staging.xcconfig"; sourceTree = ""; }; B8847183C3FF3D70FE4192CD /* sampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = sampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - BA25537B4E6A497D450B4203 /* Pods-sample.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release staging.xcconfig"; sourceTree = ""; }; BBD1568B768046A18E011F2C /* HomeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeViewController.swift; sourceTree = ""; }; BBF1B234787FCD92142B105D /* AutoMockable.generated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutoMockable.generated.swift; sourceTree = ""; }; BD9D9C9A495C5EA0AE9039C6 /* ReleaseProduction.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = ReleaseProduction.xcconfig; sourceTree = ""; }; C159B27C88C08E8AEB22AFD4 /* Navigator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Navigator.swift; sourceTree = ""; }; CD3A7C3AC94E15DEC4F12A85 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; CDBCDCBA1D855D7023A0342F /* UIView+Subviews.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIView+Subviews.swift"; sourceTree = ""; }; - D28C0DC4E08A49A645E0438C /* Pods-sample.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug production.xcconfig"; sourceTree = ""; }; + CF4F92EC45F4BB17AE4E8E36 /* Pods_sample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D2D7345A2017D2D372785123 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; D2F657F289C5314152FFCFA2 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; E4C58806C2B28AED0873F8AF /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; - E99747C8D92ED54D6500882E /* Pods-sampleTests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release production.xcconfig"; sourceTree = ""; }; - EE088C41C16F0A28F8DC4C91 /* Pods_sampleTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sampleTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + EB49354EF3BBBFB72256D9A9 /* Pods_sample_sampleKIFUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample_sampleKIFUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + ECD52F19AE4461F0888C979E /* Pods-sampleTests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug production.xcconfig"; sourceTree = ""; }; EFAE58D40BFE459B1184D994 /* KIF+Swift.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "KIF+Swift.swift"; sourceTree = ""; }; EFE5D281FD0FFFF44FC92B04 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; - F5B48BF215BC20D3F0239C34 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug production.xcconfig"; sourceTree = ""; }; F5B819017A28FE15B242BB5B /* Typealiases.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Typealiases.swift; sourceTree = ""; }; F854F7439696BB6B30145F6D /* ReleaseStaging.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = ReleaseStaging.xcconfig; sourceTree = ""; }; F9816C413C0D0DD7B01BA9CE /* Navigator+Transition.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Navigator+Transition.swift"; sourceTree = ""; }; @@ -141,7 +141,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E9E346C6330D5794FA1529C7 /* Pods_sample_sampleKIFUITests.framework in Frameworks */, + 1492566D5C4B64ED0F8F8076 /* Pods_sample_sampleKIFUITests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -149,7 +149,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - ED0BDAA03E6F1998C468A6AC /* Pods_sampleTests.framework in Frameworks */, + 10108BE2F49183ECA3173184 /* Pods_sampleTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -157,7 +157,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - BE1F33C39E645B99E92A9620 /* Pods_sample.framework in Frameworks */, + 5CA5D04FEF70E8AF92616069 /* Pods_sample.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -198,26 +198,6 @@ path = Plists; sourceTree = ""; }; - 299A45C2ADDD2248553A167A /* Pods */ = { - isa = PBXGroup; - children = ( - D28C0DC4E08A49A645E0438C /* Pods-sample.debug production.xcconfig */, - A30301E7B105B3B9E0C6668E /* Pods-sample.debug staging.xcconfig */, - 31945506574838197E2903D7 /* Pods-sample.release production.xcconfig */, - BA25537B4E6A497D450B4203 /* Pods-sample.release staging.xcconfig */, - F5B48BF215BC20D3F0239C34 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */, - 37357A3787FCE24AC6C02EA5 /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */, - 647CE7E17E586CA085541134 /* Pods-sample-sampleKIFUITests.release production.xcconfig */, - 66E07E3F1A0D85D8C061CED2 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */, - 89F38AEF619D2656CACEF801 /* Pods-sampleTests.debug production.xcconfig */, - 7DEBF92F62C90647A0B5EE06 /* Pods-sampleTests.debug staging.xcconfig */, - E99747C8D92ED54D6500882E /* Pods-sampleTests.release production.xcconfig */, - 03FCC9D75D4E31BB5A6DECA8 /* Pods-sampleTests.release staging.xcconfig */, - ); - name = Pods; - path = Pods; - sourceTree = ""; - }; 2E4333681DEA179B19741BC4 /* Typealiases */ = { isa = PBXGroup; children = ( @@ -281,9 +261,9 @@ 52B072A663159D9D007D540F /* Frameworks */ = { isa = PBXGroup; children = ( - 4190B7F311D414EA7C69541D /* Pods_sample.framework */, - A715FDE61E353810B73F17D7 /* Pods_sample_sampleKIFUITests.framework */, - EE088C41C16F0A28F8DC4C91 /* Pods_sampleTests.framework */, + CF4F92EC45F4BB17AE4E8E36 /* Pods_sample.framework */, + EB49354EF3BBBFB72256D9A9 /* Pods_sample_sampleKIFUITests.framework */, + A142B771EB284E7D3DAC0CBA /* Pods_sampleTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -318,7 +298,7 @@ 9B7CF20BE2915B62911C62AA /* Project */, 52B072A663159D9D007D540F /* Frameworks */, 372816F20EC291B850EECF1F /* Products */, - 299A45C2ADDD2248553A167A /* Pods */, + AC58EC84C25D7D985290DE33 /* Pods */, ); sourceTree = ""; }; @@ -442,6 +422,26 @@ path = Sources; sourceTree = ""; }; + AC58EC84C25D7D985290DE33 /* Pods */ = { + isa = PBXGroup; + children = ( + 8B62D36F1020145A3C86CAD3 /* Pods-sample.debug production.xcconfig */, + 9E076EBB370491BA2376E1B5 /* Pods-sample.debug staging.xcconfig */, + A74D5E2A0D525D10481E7250 /* Pods-sample.release production.xcconfig */, + 768D4997A98D3A2974D8E2F0 /* Pods-sample.release staging.xcconfig */, + 0CA70F525D0A7A0F9E072286 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */, + AFF75F2D06F6FA309CECB63D /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */, + 228CED570D8374D22174ED2B /* Pods-sample-sampleKIFUITests.release production.xcconfig */, + B61854C5388B396A5974BAD6 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */, + ECD52F19AE4461F0888C979E /* Pods-sampleTests.debug production.xcconfig */, + AA2A9285ED13FB9B9FFA7B31 /* Pods-sampleTests.debug staging.xcconfig */, + 429558BA19A144BC7895418B /* Pods-sampleTests.release production.xcconfig */, + 5951987374231B70B57D1606 /* Pods-sampleTests.release staging.xcconfig */, + ); + name = Pods; + path = Pods; + sourceTree = ""; + }; AD9990D37804DDB2555BD909 /* Configurations */ = { isa = PBXGroup; children = ( @@ -570,7 +570,7 @@ isa = PBXNativeTarget; buildConfigurationList = 56FE2126489C1E87A2D918A3 /* Build configuration list for PBXNativeTarget "sample" */; buildPhases = ( - 872CD27E30CAE141593C60EB /* [CP] Check Pods Manifest.lock */, + 3DD250BF63E7BDE89AA00A19 /* [CP] Check Pods Manifest.lock */, B2B621CC2B1F4F58601CD98D /* Sourcery */, 7EB246CFC1E0CCBA652DC37E /* R.swift */, CF26733D03C8D33F8823EE1F /* SwiftLint */, @@ -580,7 +580,7 @@ 494614C33B509301DBBDAD42 /* Embed Frameworks */, 89C77BA3C707AD804F79284B /* Frameworks */, 843C67A8A78058B8D8B3D11E /* Copy GoogleService-Info.plist */, - 1E378791F6533B7F96631F56 /* [CP] Embed Pods Frameworks */, + 6C6E2A0F24343128BB978E02 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -595,12 +595,12 @@ isa = PBXNativeTarget; buildConfigurationList = 31E84C030BDB7A39BCE38D8C /* Build configuration list for PBXNativeTarget "sampleKIFUITests" */; buildPhases = ( - A8F736C5E396A0C46BBA1E45 /* [CP] Check Pods Manifest.lock */, + DEBDAAA7D36994E2DEBE7C58 /* [CP] Check Pods Manifest.lock */, 21ADDF0B071B770FFB6A086A /* Sources */, 43218B877C978B4CA5B93235 /* Resources */, 392BFB718CBF57CF0D23848E /* Embed Frameworks */, 29CEF4F9FF315D4254B8BC69 /* Frameworks */, - 0220FE2009071825E6DD1BA3 /* [CP] Embed Pods Frameworks */, + B6876F9347C20ABEFA480F47 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -616,13 +616,13 @@ isa = PBXNativeTarget; buildConfigurationList = C3875EBB5A0F6612B3515A13 /* Build configuration list for PBXNativeTarget "sampleTests" */; buildPhases = ( - C621E191E5BC697B407F920D /* [CP] Check Pods Manifest.lock */, + 6F552D28AD7E01F0D64AAB4F /* [CP] Check Pods Manifest.lock */, 2F7B6AB35D89AA83D514ECC2 /* SwiftFormat */, 9344943859735CAEA8DDB048 /* Sources */, E472A2AC48FE9588146AB254 /* Resources */, 51D3263E7013F91DCDB0D884 /* Embed Frameworks */, 7A7AFF7C6576A774E896CA81 /* Frameworks */, - 090759437F96B06DE66D37B5 /* [CP] Embed Pods Frameworks */, + 05790AC9B1FC7543BA40ABBB /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -703,41 +703,64 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 0220FE2009071825E6DD1BA3 /* [CP] Embed Pods Frameworks */ = { + 05790AC9B1FC7543BA40ABBB /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-input-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 090759437F96B06DE66D37B5 /* [CP] Embed Pods Frameworks */ = { + 2F7B6AB35D89AA83D514ECC2 /* SwiftFormat */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + ); + name = SwiftFormat; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks.sh\"\n"; + shellScript = "if [ -z \"$CI\" ]; then\n \"${PODS_ROOT}/SwiftFormat/CommandLineTool/swiftformat\" \"$SRCROOT\"\nfi"; + }; + 3DD250BF63E7BDE89AA00A19 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-sample-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 1E378791F6533B7F96631F56 /* [CP] Embed Pods Frameworks */ = { + 6C6E2A0F24343128BB978E02 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -754,7 +777,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 2F7B6AB35D89AA83D514ECC2 /* SwiftFormat */ = { + 6F552D28AD7E01F0D64AAB4F /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -762,15 +785,19 @@ inputFileListPaths = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); - name = SwiftFormat; + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( ); outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-sampleTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "if [ -z \"$CI\" ]; then\n \"${PODS_ROOT}/SwiftFormat/CommandLineTool/swiftformat\" \"$SRCROOT\"\nfi"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; 7EB246CFC1E0CCBA652DC37E /* R.swift */ = { isa = PBXShellScriptBuildPhase; @@ -810,7 +837,7 @@ shellPath = /bin/sh; shellScript = "PATH_TO_GOOGLE_PLISTS=\"$SRCROOT/$PROJECT_NAME/Configurations/Plists/GoogleService\"\n\ncase \"${CONFIGURATION}\" in\n\"Debug Staging\" | \"Release Staging\" )\ncp -r \"$PATH_TO_GOOGLE_PLISTS/Staging/GoogleService-Info.plist\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist\"\n;;\n\"Debug Production\" | \"Release Production\" )\ncp -r \"$PATH_TO_GOOGLE_PLISTS/Production/GoogleService-Info.plist\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist\"\n;;\n*)\n;;\nesac"; }; - 872CD27E30CAE141593C60EB /* [CP] Check Pods Manifest.lock */ = { + B2B621CC2B1F4F58601CD98D /* Sourcery */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -818,43 +845,34 @@ inputFileListPaths = ( ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", ); - name = "[CP] Check Pods Manifest.lock"; + name = Sourcery; outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-sample-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "\"$PODS_ROOT/Sourcery/bin/sourcery\""; }; - A8F736C5E396A0C46BBA1E45 /* [CP] Check Pods Manifest.lock */ = { + B6876F9347C20ABEFA480F47 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-sample-sampleKIFUITests-checkManifestLockResult.txt", + "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - B2B621CC2B1F4F58601CD98D /* Sourcery */ = { + CF26733D03C8D33F8823EE1F /* SwiftLint */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -863,16 +881,16 @@ ); inputPaths = ( ); - name = Sourcery; + name = SwiftLint; outputFileListPaths = ( ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"$PODS_ROOT/Sourcery/bin/sourcery\""; + shellScript = "if [ -z \"$CI\" ]; then\n ${PODS_ROOT}/SwiftLint/swiftlint\nfi"; }; - C621E191E5BC697B407F920D /* [CP] Check Pods Manifest.lock */ = { + DEBDAAA7D36994E2DEBE7C58 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -887,31 +905,13 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-sampleTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-sample-sampleKIFUITests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - CF26733D03C8D33F8823EE1F /* SwiftLint */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - ); - name = SwiftLint; - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "if [ -z \"$CI\" ]; then\n ${PODS_ROOT}/SwiftLint/swiftlint\nfi"; - }; EF3878B82E1CD4611A640906 /* SwiftFormat Lint */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -989,7 +989,7 @@ /* Begin XCBuildConfiguration section */ 21ACBFF0B81C5FE1926420D2 /* Debug Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F5B48BF215BC20D3F0239C34 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */; + baseConfigurationReference = 0CA70F525D0A7A0F9E072286 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1014,7 +1014,7 @@ }; 252EA76B363BC50D825D8BD6 /* Debug Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7DEBF92F62C90647A0B5EE06 /* Pods-sampleTests.debug staging.xcconfig */; + baseConfigurationReference = AA2A9285ED13FB9B9FFA7B31 /* Pods-sampleTests.debug staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1039,7 +1039,7 @@ }; 388E6BE620787A06CA1CA7EE /* Release Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = BA25537B4E6A497D450B4203 /* Pods-sample.release staging.xcconfig */; + baseConfigurationReference = 768D4997A98D3A2974D8E2F0 /* Pods-sample.release staging.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1063,7 +1063,7 @@ }; 38F81F703A83D6A307430059 /* Release Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 647CE7E17E586CA085541134 /* Pods-sample-sampleKIFUITests.release production.xcconfig */; + baseConfigurationReference = 228CED570D8374D22174ED2B /* Pods-sample-sampleKIFUITests.release production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1087,7 +1087,7 @@ }; 3BEDFE87FC2F0AE206422087 /* Release Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E99747C8D92ED54D6500882E /* Pods-sampleTests.release production.xcconfig */; + baseConfigurationReference = 429558BA19A144BC7895418B /* Pods-sampleTests.release production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1111,7 +1111,7 @@ }; 3E22885F8CD58F60301062E2 /* Release Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 66E07E3F1A0D85D8C061CED2 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */; + baseConfigurationReference = B61854C5388B396A5974BAD6 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1135,7 +1135,7 @@ }; 4C1D6824327C0FD7CA0FD5EA /* Release Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 31945506574838197E2903D7 /* Pods-sample.release production.xcconfig */; + baseConfigurationReference = A74D5E2A0D525D10481E7250 /* Pods-sample.release production.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1218,7 +1218,7 @@ }; 65EFF1C45B23F50B02803EAD /* Debug Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A30301E7B105B3B9E0C6668E /* Pods-sample.debug staging.xcconfig */; + baseConfigurationReference = 9E076EBB370491BA2376E1B5 /* Pods-sample.debug staging.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1243,7 +1243,7 @@ }; 944F5AFF63FDFD18DB25D45F /* Debug Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D28C0DC4E08A49A645E0438C /* Pods-sample.debug production.xcconfig */; + baseConfigurationReference = 8B62D36F1020145A3C86CAD3 /* Pods-sample.debug production.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1268,7 +1268,7 @@ }; A6CE62F8A695FBBC221E4690 /* Debug Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 89F38AEF619D2656CACEF801 /* Pods-sampleTests.debug production.xcconfig */; + baseConfigurationReference = ECD52F19AE4461F0888C979E /* Pods-sampleTests.debug production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1293,7 +1293,7 @@ }; B7E6733E7030283A3E74681B /* Debug Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 37357A3787FCE24AC6C02EA5 /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */; + baseConfigurationReference = AFF75F2D06F6FA309CECB63D /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1371,7 +1371,7 @@ }; BD91BBB9D406D96A13EB8291 /* Release Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 03FCC9D75D4E31BB5A6DECA8 /* Pods-sampleTests.release staging.xcconfig */; + baseConfigurationReference = 5951987374231B70B57D1606 /* Pods-sampleTests.release staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; From 44b9129bdd5aaa3c3a5f0252ca277fc10dc7fa2f Mon Sep 17 00:00:00 2001 From: lydiasama Date: Thu, 30 Nov 2023 10:19:58 +0700 Subject: [PATCH 13/25] [#6] Add CD workflow --- .github/workflows/deploy_production.yml | 55 +++++++++++++++++++++++++ .github/workflows/deploy_staging.yml | 49 ++++++++++++++++++++++ .github/workflows/test.yml | 4 ++ 3 files changed, 108 insertions(+) create mode 100644 .github/workflows/deploy_production.yml create mode 100644 .github/workflows/deploy_staging.yml diff --git a/.github/workflows/deploy_production.yml b/.github/workflows/deploy_production.yml new file mode 100644 index 00000000..5b8acdbe --- /dev/null +++ b/.github/workflows/deploy_production.yml @@ -0,0 +1,55 @@ +name: Deploy production app to Firebase App Distribution +on: + push: + branches: + - main + +jobs: + deploy_android: + name: Deploy Android app to Firebase App Distribution + runs-on: ubuntu-latest + timeout-minutes: 30 + environment: production + defaults: + run: + working-directory: ./sample + steps: + - name: Set up JDK + uses: actions/setup-java@v2 + with: + distribution: 'temurin' + java-version: '17' + + - name: Checkout source code + uses: actions/checkout@v3 + + - name: Cache Gradle + uses: actions/cache@v3 + with: + path: | + ~/.gradle/caches/modules-* + ~/.gradle/caches/jars-* + ~/.gradle/caches/build-cache-* + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }} + restore-keys: | + ${{ runner.os }}-gradle- + + - name: Decode singing properties + run: echo "${{ secrets.ANDROID_SIGNING_PROPERTIES }}" | base64 --decode > signing.properties + + - name: Decode release keystore + run: echo "${{ secrets.ANDROID_RELEASE_KEYSTORE }}" | base64 --decode > config/release.keystore + + - name: Decode buildKonfig properties + run: echo "${{ secrets.BUILD_KONFIG_PROPERTIES }}" | base64 --decode > buildKonfig.properties + + - name: Build production APK + run: ./gradlew assembleProductionRelease -PversionCode=$GITHUB_RUN_NUMBER + + - name: Deploy production to Firebase + uses: wzieba/Firebase-Distribution-Github-Action@v1.7.0 + with: + appId: ${{ vars.ANDROID_FIREBASE_APP_ID }} + serviceCredentialsFileContent: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_CREDENTIAL_FILE_CONTENT }} + groups: nimble + file: sample/android/build/outputs/apk/production/release/android-production-release.apk diff --git a/.github/workflows/deploy_staging.yml b/.github/workflows/deploy_staging.yml new file mode 100644 index 00000000..7576527f --- /dev/null +++ b/.github/workflows/deploy_staging.yml @@ -0,0 +1,49 @@ +name: Deploy staging app to Firebase App Distribution +on: + push: + branches: + - develop + +jobs: + deploy_android: + name: Deploy Android app to Firebase App Distribution + runs-on: ubuntu-latest + timeout-minutes: 30 + environment: staging + defaults: + run: + working-directory: ./sample + steps: + - name: Set up JDK + uses: actions/setup-java@v2 + with: + distribution: 'temurin' + java-version: '17' + + - name: Checkout source code + uses: actions/checkout@v3 + + - name: Cache Gradle + uses: actions/cache@v3 + with: + path: | + ~/.gradle/caches/modules-* + ~/.gradle/caches/jars-* + ~/.gradle/caches/build-cache-* + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }} + restore-keys: | + ${{ runner.os }}-gradle- + + - name: Decode buildKonfig properties + run: echo "${{ secrets.BUILD_KONFIG_PROPERTIES }}" | base64 --decode > buildKonfig.properties + + - name: Build staging APK + run: ./gradlew assembleStagingDebug -PversionCode=$GITHUB_RUN_NUMBER + + - name: Deploy staging to Firebase + uses: wzieba/Firebase-Distribution-Github-Action@v1.7.0 + with: + appId: ${{ vars.ANDROID_FIREBASE_APP_ID }} + serviceCredentialsFileContent: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_CREDENTIAL_FILE_CONTENT }} + groups: nimble + file: sample/android/build/outputs/apk/staging/debug/android-staging-debug.apk diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 31532cc4..c60ddff9 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -2,6 +2,10 @@ name: Code analysis, test and generate sample project on: pull_request: types: [ opened, synchronize, reopened, ready_for_review ] + branches-ignore: + - main + - develop + - 'release/*' concurrency: group: ${{ github.workflow }}-${{ github.ref }} From 4f6019b835b369e4885c41b39d8a70dc3d2087c7 Mon Sep 17 00:00:00 2001 From: lydiasama Date: Thu, 30 Nov 2023 10:25:16 +0700 Subject: [PATCH 14/25] [#6] Resolve PR comments --- .github/workflows/deploy_production.yml | 13 +++++-------- .github/workflows/deploy_staging.yml | 4 ++-- .github/workflows/test.yml | 1 + 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/.github/workflows/deploy_production.yml b/.github/workflows/deploy_production.yml index 5b8acdbe..b62c3b27 100644 --- a/.github/workflows/deploy_production.yml +++ b/.github/workflows/deploy_production.yml @@ -34,14 +34,11 @@ jobs: restore-keys: | ${{ runner.os }}-gradle- - - name: Decode singing properties - run: echo "${{ secrets.ANDROID_SIGNING_PROPERTIES }}" | base64 --decode > signing.properties - - - name: Decode release keystore - run: echo "${{ secrets.ANDROID_RELEASE_KEYSTORE }}" | base64 --decode > config/release.keystore - - - name: Decode buildKonfig properties - run: echo "${{ secrets.BUILD_KONFIG_PROPERTIES }}" | base64 --decode > buildKonfig.properties + - name: Set up the necessary config + run: | + echo "${{ secrets.BUILD_KONFIG_PROPERTIES }}" > buildKonfig.properties + echo "${{ secrets.ANDROID_SIGNING_PROPERTIES }}" > signing.properties + echo "${{ secrets.ANDROID_RELEASE_KEYSTORE }}" | base64 --decode > config/release.keystore - name: Build production APK run: ./gradlew assembleProductionRelease -PversionCode=$GITHUB_RUN_NUMBER diff --git a/.github/workflows/deploy_staging.yml b/.github/workflows/deploy_staging.yml index 7576527f..df6d7b5e 100644 --- a/.github/workflows/deploy_staging.yml +++ b/.github/workflows/deploy_staging.yml @@ -34,8 +34,8 @@ jobs: restore-keys: | ${{ runner.os }}-gradle- - - name: Decode buildKonfig properties - run: echo "${{ secrets.BUILD_KONFIG_PROPERTIES }}" | base64 --decode > buildKonfig.properties + - name: Set up the necessary config + run: echo "${{ secrets.BUILD_KONFIG_PROPERTIES }}" > buildKonfig.properties - name: Build staging APK run: ./gradlew assembleStagingDebug -PversionCode=$GITHUB_RUN_NUMBER diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c60ddff9..f8cef9f4 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -2,6 +2,7 @@ name: Code analysis, test and generate sample project on: pull_request: types: [ opened, synchronize, reopened, ready_for_review ] + push: branches-ignore: - main - develop From db5cd5e037ad992259abecb08e33e26a9c10f873 Mon Sep 17 00:00:00 2001 From: lydiasama Date: Thu, 30 Nov 2023 10:28:34 +0700 Subject: [PATCH 15/25] [#6] Update proguard rules --- custom/android/proguard-rules.pro | 3 +++ 1 file changed, 3 insertions(+) diff --git a/custom/android/proguard-rules.pro b/custom/android/proguard-rules.pro index c4c23e09..cada5dea 100644 --- a/custom/android/proguard-rules.pro +++ b/custom/android/proguard-rules.pro @@ -60,3 +60,6 @@ #-keepnames class <1>$$serializer { # -keepnames suffices; class is kept when serializer() is kept. # static <1>$$serializer INSTANCE; #} + +# Suppress: Missing class org.slf4j.impl.StaticLoggerBinder while running R8 +-dontwarn org.slf4j.impl.StaticLoggerBinder From 102b1f154d8d76bef23f6bd8d420ed8978edba7e Mon Sep 17 00:00:00 2001 From: team-nimblehq Date: Thu, 30 Nov 2023 03:33:17 +0000 Subject: [PATCH 16/25] [Chore] Generate & update sample project --- .../.github/workflows/deploy_production.yml | 52 +++++ sample/.github/workflows/deploy_staging.yml | 49 ++++ sample/.github/workflows/test.yml | 5 + sample/android/proguard-rules.pro | 3 + sample/ios/Gemfile.lock | 60 +++-- sample/ios/Podfile.lock | 52 ++--- sample/ios/sample.xcodeproj/project.pbxproj | 214 +++++++++--------- 7 files changed, 270 insertions(+), 165 deletions(-) create mode 100644 sample/.github/workflows/deploy_production.yml create mode 100644 sample/.github/workflows/deploy_staging.yml diff --git a/sample/.github/workflows/deploy_production.yml b/sample/.github/workflows/deploy_production.yml new file mode 100644 index 00000000..b62c3b27 --- /dev/null +++ b/sample/.github/workflows/deploy_production.yml @@ -0,0 +1,52 @@ +name: Deploy production app to Firebase App Distribution +on: + push: + branches: + - main + +jobs: + deploy_android: + name: Deploy Android app to Firebase App Distribution + runs-on: ubuntu-latest + timeout-minutes: 30 + environment: production + defaults: + run: + working-directory: ./sample + steps: + - name: Set up JDK + uses: actions/setup-java@v2 + with: + distribution: 'temurin' + java-version: '17' + + - name: Checkout source code + uses: actions/checkout@v3 + + - name: Cache Gradle + uses: actions/cache@v3 + with: + path: | + ~/.gradle/caches/modules-* + ~/.gradle/caches/jars-* + ~/.gradle/caches/build-cache-* + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }} + restore-keys: | + ${{ runner.os }}-gradle- + + - name: Set up the necessary config + run: | + echo "${{ secrets.BUILD_KONFIG_PROPERTIES }}" > buildKonfig.properties + echo "${{ secrets.ANDROID_SIGNING_PROPERTIES }}" > signing.properties + echo "${{ secrets.ANDROID_RELEASE_KEYSTORE }}" | base64 --decode > config/release.keystore + + - name: Build production APK + run: ./gradlew assembleProductionRelease -PversionCode=$GITHUB_RUN_NUMBER + + - name: Deploy production to Firebase + uses: wzieba/Firebase-Distribution-Github-Action@v1.7.0 + with: + appId: ${{ vars.ANDROID_FIREBASE_APP_ID }} + serviceCredentialsFileContent: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_CREDENTIAL_FILE_CONTENT }} + groups: nimble + file: sample/android/build/outputs/apk/production/release/android-production-release.apk diff --git a/sample/.github/workflows/deploy_staging.yml b/sample/.github/workflows/deploy_staging.yml new file mode 100644 index 00000000..df6d7b5e --- /dev/null +++ b/sample/.github/workflows/deploy_staging.yml @@ -0,0 +1,49 @@ +name: Deploy staging app to Firebase App Distribution +on: + push: + branches: + - develop + +jobs: + deploy_android: + name: Deploy Android app to Firebase App Distribution + runs-on: ubuntu-latest + timeout-minutes: 30 + environment: staging + defaults: + run: + working-directory: ./sample + steps: + - name: Set up JDK + uses: actions/setup-java@v2 + with: + distribution: 'temurin' + java-version: '17' + + - name: Checkout source code + uses: actions/checkout@v3 + + - name: Cache Gradle + uses: actions/cache@v3 + with: + path: | + ~/.gradle/caches/modules-* + ~/.gradle/caches/jars-* + ~/.gradle/caches/build-cache-* + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }} + restore-keys: | + ${{ runner.os }}-gradle- + + - name: Set up the necessary config + run: echo "${{ secrets.BUILD_KONFIG_PROPERTIES }}" > buildKonfig.properties + + - name: Build staging APK + run: ./gradlew assembleStagingDebug -PversionCode=$GITHUB_RUN_NUMBER + + - name: Deploy staging to Firebase + uses: wzieba/Firebase-Distribution-Github-Action@v1.7.0 + with: + appId: ${{ vars.ANDROID_FIREBASE_APP_ID }} + serviceCredentialsFileContent: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_CREDENTIAL_FILE_CONTENT }} + groups: nimble + file: sample/android/build/outputs/apk/staging/debug/android-staging-debug.apk diff --git a/sample/.github/workflows/test.yml b/sample/.github/workflows/test.yml index 31532cc4..f8cef9f4 100644 --- a/sample/.github/workflows/test.yml +++ b/sample/.github/workflows/test.yml @@ -2,6 +2,11 @@ name: Code analysis, test and generate sample project on: pull_request: types: [ opened, synchronize, reopened, ready_for_review ] + push: + branches-ignore: + - main + - develop + - 'release/*' concurrency: group: ${{ github.workflow }}-${{ github.ref }} diff --git a/sample/android/proguard-rules.pro b/sample/android/proguard-rules.pro index c4c23e09..cada5dea 100644 --- a/sample/android/proguard-rules.pro +++ b/sample/android/proguard-rules.pro @@ -60,3 +60,6 @@ #-keepnames class <1>$$serializer { # -keepnames suffices; class is kept when serializer() is kept. # static <1>$$serializer INSTANCE; #} + +# Suppress: Missing class org.slf4j.impl.StaticLoggerBinder while running R8 +-dontwarn org.slf4j.impl.StaticLoggerBinder diff --git a/sample/ios/Gemfile.lock b/sample/ios/Gemfile.lock index ccf75981..8ed9c097 100644 --- a/sample/ios/Gemfile.lock +++ b/sample/ios/Gemfile.lock @@ -3,7 +3,7 @@ GEM specs: CFPropertyList (3.0.6) rexml - activesupport (7.1.1) + activesupport (7.1.2) base64 bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) @@ -24,21 +24,21 @@ GEM yaml (~> 0.2) artifactory (3.0.15) atomos (0.1.3) - aws-eventstream (1.2.0) - aws-partitions (1.847.0) - aws-sdk-core (3.186.0) - aws-eventstream (~> 1, >= 1.0.2) + aws-eventstream (1.3.0) + aws-partitions (1.862.0) + aws-sdk-core (3.190.0) + aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.651.0) - aws-sigv4 (~> 1.5) + aws-sigv4 (~> 1.8) jmespath (~> 1, >= 1.6.1) - aws-sdk-kms (1.72.0) - aws-sdk-core (~> 3, >= 3.184.0) + aws-sdk-kms (1.74.0) + aws-sdk-core (~> 3, >= 3.188.0) aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.136.0) - aws-sdk-core (~> 3, >= 3.181.0) + aws-sdk-s3 (1.141.0) + aws-sdk-core (~> 3, >= 3.189.0) aws-sdk-kms (~> 1) - aws-sigv4 (~> 1.6) - aws-sigv4 (1.6.1) + aws-sigv4 (~> 1.8) + aws-sigv4 (1.8.0) aws-eventstream (~> 1, >= 1.0.2) babosa (1.0.4) base64 (0.2.0) @@ -48,12 +48,12 @@ GEM cork nap open4 (~> 1.3) - cocoapods (1.14.2) + cocoapods (1.14.3) addressable (~> 2.8) claide (>= 1.0.2, < 2.0) - cocoapods-core (= 1.14.2) + cocoapods-core (= 1.14.3) cocoapods-deintegrate (>= 1.0.3, < 2.0) - cocoapods-downloader (>= 2.0) + cocoapods-downloader (>= 2.1, < 3.0) cocoapods-plugins (>= 1.0.0, < 2.0) cocoapods-search (>= 1.0.0, < 2.0) cocoapods-trunk (>= 1.6.0, < 2.0) @@ -66,7 +66,7 @@ GEM nap (~> 1.0) ruby-macho (>= 2.3.0, < 3.0) xcodeproj (>= 1.23.0, < 2.0) - cocoapods-core (1.14.2) + cocoapods-core (1.14.3) activesupport (>= 5.0, < 8) addressable (~> 2.8) algoliasearch (~> 1.0) @@ -77,7 +77,7 @@ GEM public_suffix (~> 4.0) typhoeus (~> 1.0) cocoapods-deintegrate (1.0.5) - cocoapods-downloader (2.0) + cocoapods-downloader (2.1) cocoapods-plugins (1.0.0) nap cocoapods-search (1.0.1) @@ -93,7 +93,7 @@ GEM connection_pool (2.4.1) cork (0.3.0) colored2 (~> 3.1) - danger (9.3.2) + danger (9.4.0) claide (~> 1.0) claide-plugins (>= 0.9.2) colored2 (~> 3.1) @@ -104,13 +104,13 @@ GEM kramdown (~> 2.3) kramdown-parser-gfm (~> 1.0) no_proxy_fix - octokit (~> 6.0) + octokit (>= 6.0, < 8.0) terminal-table (>= 1, < 4) danger-plugin-api (1.0.0) danger (> 2.0) - danger-swiftformat (0.8.1) + danger-swiftformat (0.9.0) danger-plugin-api (~> 1.0) - danger-swiftlint (0.33.0) + danger-swiftlint (0.34.0) danger rake (> 10) thor (~> 0.19) @@ -123,8 +123,7 @@ GEM declarative (0.0.20) digest-crc (0.6.5) rake (>= 12.0.0, < 14.0.0) - domain_name (0.5.20190701) - unf (>= 0.0.5, < 1.0.0) + domain_name (0.6.20231109) dotenv (2.8.1) drb (2.2.0) ruby2_keywords @@ -132,7 +131,7 @@ GEM escape (0.0.4) ethon (0.16.0) ffi (>= 1.15.0) - excon (0.104.0) + excon (0.105.0) faraday (1.10.3) faraday-em_http (~> 1.0) faraday-em_synchrony (~> 1.0) @@ -164,7 +163,7 @@ GEM faraday_middleware (1.2.0) faraday (~> 1.0) fastimage (2.2.7) - fastlane (2.216.0) + fastlane (2.217.0) CFPropertyList (>= 2.3, < 4.0.0) addressable (>= 2.8, < 3.0.0) artifactory (~> 3.0) @@ -213,7 +212,7 @@ GEM git (1.18.0) addressable (~> 2.8) rchardet (~> 1.8) - google-apis-androidpublisher_v3 (0.51.0) + google-apis-androidpublisher_v3 (0.53.0) google-apis-core (>= 0.11.0, < 2.a) google-apis-core (0.11.2) addressable (~> 2.5, >= 2.5.1) @@ -277,7 +276,7 @@ GEM naturally (2.2.1) netrc (0.11.0) no_proxy_fix (0.1.2) - octokit (6.1.1) + octokit (7.2.0) faraday (>= 1, < 3) sawyer (~> 0.9) open4 (1.3.4) @@ -320,14 +319,11 @@ GEM tty-screen (0.8.1) tty-spinner (0.9.3) tty-cursor (~> 0.7) - typhoeus (1.4.0) + typhoeus (1.4.1) ethon (>= 0.9.0) tzinfo (2.0.6) concurrent-ruby (~> 1.0) uber (0.1.0) - unf (0.1.4) - unf_ext - unf_ext (0.0.8.2) unicode-display_width (2.5.0) webrick (1.8.1) word_wrap (1.0.0) @@ -368,4 +364,4 @@ DEPENDENCIES xcov BUNDLED WITH - 2.4.19 + 2.4.22 diff --git a/sample/ios/Podfile.lock b/sample/ios/Podfile.lock index 1ed17127..57e00ece 100644 --- a/sample/ios/Podfile.lock +++ b/sample/ios/Podfile.lock @@ -4,20 +4,20 @@ PODS: - ArkanaKeysInterfaces (1.0.0) - Differentiator (5.0.0) - Factory (2.3.1) - - Firebase/CoreOnly (10.17.0): - - FirebaseCore (= 10.17.0) - - Firebase/Crashlytics (10.17.0): + - Firebase/CoreOnly (10.18.0): + - FirebaseCore (= 10.18.0) + - Firebase/Crashlytics (10.18.0): - Firebase/CoreOnly - - FirebaseCrashlytics (~> 10.17.0) - - FirebaseCore (10.17.0): + - FirebaseCrashlytics (~> 10.18.0) + - FirebaseCore (10.18.0): - FirebaseCoreInternal (~> 10.0) - - GoogleUtilities/Environment (~> 7.8) - - GoogleUtilities/Logger (~> 7.8) - - FirebaseCoreExtension (10.17.0): + - GoogleUtilities/Environment (~> 7.12) + - GoogleUtilities/Logger (~> 7.12) + - FirebaseCoreExtension (10.18.0): - FirebaseCore (~> 10.0) - - FirebaseCoreInternal (10.17.0): + - FirebaseCoreInternal (10.18.0): - "GoogleUtilities/NSData+zlib (~> 7.8)" - - FirebaseCrashlytics (10.17.0): + - FirebaseCrashlytics (10.18.0): - FirebaseCore (~> 10.5) - FirebaseInstallations (~> 10.0) - FirebaseSessions (~> 10.5) @@ -25,12 +25,12 @@ PODS: - GoogleUtilities/Environment (~> 7.8) - nanopb (< 2.30910.0, >= 2.30908.0) - PromisesObjC (~> 2.1) - - FirebaseInstallations (10.17.0): + - FirebaseInstallations (10.18.0): - FirebaseCore (~> 10.0) - GoogleUtilities/Environment (~> 7.8) - GoogleUtilities/UserDefaults (~> 7.8) - PromisesObjC (~> 2.1) - - FirebaseSessions (10.17.0): + - FirebaseSessions (10.18.0): - FirebaseCore (~> 10.5) - FirebaseCoreExtension (~> 10.0) - FirebaseInstallations (~> 10.0) @@ -38,7 +38,7 @@ PODS: - GoogleUtilities/Environment (~> 7.10) - nanopb (< 2.30910.0, >= 2.30908.0) - PromisesSwift (~> 2.1) - - GoogleDataTransport (9.2.5): + - GoogleDataTransport (9.3.0): - GoogleUtilities/Environment (~> 7.7) - nanopb (< 2.30910.0, >= 2.30908.0) - PromisesObjC (< 3.0, >= 1.2) @@ -96,8 +96,8 @@ PODS: - Sourcery (2.1.1): - Sourcery/CLI-Only (= 2.1.1) - Sourcery/CLI-Only (2.1.1) - - SwiftFormat/CLI (0.52.8) - - SwiftLint (0.53.0) + - SwiftFormat/CLI (0.52.10) + - SwiftLint (0.54.0) - Wormholy (1.7.0) - xcbeautify (0.17.0) @@ -183,14 +183,14 @@ SPEC CHECKSUMS: ArkanaKeysInterfaces: 81d21923368b058e2b6fd932ec96855166ef6d19 Differentiator: e8497ceab83c1b10ca233716d547b9af21b9344d Factory: 0aaf52d866846f0d50f42442cc39a91b8f6a07e0 - Firebase: f4ac0b02927af9253ae094d23deecf0890da7374 - FirebaseCore: 534544dd98cabcf4bf8598d88ec683b02319a528 - FirebaseCoreExtension: 47720bb330d7041047c0935a34a3a4b92f818074 - FirebaseCoreInternal: 2cf9202e226e3f78d2bf6d56c472686b935bfb7f - FirebaseCrashlytics: d78651ad7db206ef98269e103ac38d69d569200a - FirebaseInstallations: 9387bf15abfc69a714f54e54f74a251264fdb79b - FirebaseSessions: 49f39e5c10e3f9fdd38d01b748329bae2a2fa8ed - GoogleDataTransport: 54dee9d48d14580407f8f5fbf2f496e92437a2f2 + Firebase: 414ad272f8d02dfbf12662a9d43f4bba9bec2a06 + FirebaseCore: 2322423314d92f946219c8791674d2f3345b598f + FirebaseCoreExtension: 62b201498aa10535801cdf3448c7f4db5e24ed80 + FirebaseCoreInternal: 8eb002e564b533bdcf1ba011f33f2b5c10e2ed4a + FirebaseCrashlytics: 86d5bce01f42fa1db265f87ff1d591f04db610ec + FirebaseInstallations: e842042ec6ac1fd2e37d7706363ebe7f662afea4 + FirebaseSessions: f90fe9212ee2818641eda051c0835c9c4e30d9ae + GoogleDataTransport: 57c22343ab29bc686febbf7cbb13bad167c2d8fe GoogleUtilities: 0759d1a57ebb953965c2dfe0ba4c82e95ccc2e34 IQKeyboardManagerSwift: 12d89768845bb77b55cc092ecc2b1f9370f06b76 KeychainAccess: c0c4f7f38f6fc7bbe58f5702e25f7bd2f65abf51 @@ -212,11 +212,11 @@ SPEC CHECKSUMS: RxTest: a23f26bb53a5e146a0a69db4f0fa0b69001ce7f4 SnapKit: e01d52ebb8ddbc333eefe2132acf85c8227d9c25 Sourcery: 3a6e2e9bd439caeee302e8150dc712d2f8ef45b3 - SwiftFormat: e60dbe6a704faf75f3089744e5f508aae0be4ad5 - SwiftLint: 5ce4d6a8ff83f1b5fd5ad5dbf30965d35af65e44 + SwiftFormat: ffd19286990ae717ca1729b853a75a439dfcf77a + SwiftLint: c1de071d9d08c8aba837545f6254315bc900e211 Wormholy: ab1c8c2f02f58587a0941deb0088555ffbf039a1 xcbeautify: 6e2f57af5c3a86d490376d5758030a8dcc201c1b PODFILE CHECKSUM: 85d4cae5e270d7a65db55a5c553c6c13b91a7b7f -COCOAPODS: 1.14.2 +COCOAPODS: 1.14.3 diff --git a/sample/ios/sample.xcodeproj/project.pbxproj b/sample/ios/sample.xcodeproj/project.pbxproj index 65c09901..20028ee5 100644 --- a/sample/ios/sample.xcodeproj/project.pbxproj +++ b/sample/ios/sample.xcodeproj/project.pbxproj @@ -9,15 +9,14 @@ /* Begin PBXBuildFile section */ 0B975608DEB5FC5F00024E82 /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = EFE5D281FD0FFFF44FC92B04 /* .gitkeep */; }; 0FCD70BBC15623E2843E571B /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = E4C58806C2B28AED0873F8AF /* .gitkeep */; }; - 10108BE2F49183ECA3173184 /* Pods_sampleTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A142B771EB284E7D3DAC0CBA /* Pods_sampleTests.framework */; }; - 1492566D5C4B64ED0F8F8076 /* Pods_sample_sampleKIFUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EB49354EF3BBBFB72256D9A9 /* Pods_sample_sampleKIFUITests.framework */; }; 18B4C2A55909888C5D0EDFDA /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6432B427D5097BCF75C4B15E /* AppDelegate.swift */; }; 1F3B8CA45E426F2E4BA8A41C /* R.generated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EEB8F8EE4393D2D9AC51316 /* R.generated.swift */; }; 20FF012BAC088FFC92962E28 /* UIView+Subviews.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDBCDCBA1D855D7023A0342F /* UIView+Subviews.swift */; }; + 2748D4F37A48EC4EDBBCD23A /* Pods_sampleTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 43D8B5B6F1588EF241133014 /* Pods_sampleTests.framework */; }; 33209CEB34C04BC32D0FFDD4 /* UseCaseFactoryProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CA52B4C8C3AF1CB2181C14D /* UseCaseFactoryProtocol.swift */; }; 3559AC5988194A4701902F80 /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = 302BB730B8D0BF901FF489B6 /* .gitkeep */; }; + 4EEFE94BD31CE49EABB4A163 /* Pods_sample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9754905710A64088A021F2F4 /* Pods_sample.framework */; }; 53157A77A8B802D108AE9D73 /* Typealiases.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5B819017A28FE15B242BB5B /* Typealiases.swift */; }; - 5CA5D04FEF70E8AF92616069 /* Pods_sample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CF4F92EC45F4BB17AE4E8E36 /* Pods_sample.framework */; }; 66C817ACCA7CE15ABF58BC06 /* HomeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBD1568B768046A18E011F2C /* HomeViewController.swift */; }; 701258D40CE69EC8168A3D12 /* AutoMockable.generated.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBF1B234787FCD92142B105D /* AutoMockable.generated.swift */; }; 7CF0F8933FB47F5D003383AA /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = 41210B648761A8DC4ABD3BB9 /* .gitkeep */; }; @@ -31,6 +30,7 @@ CA324314BE7318252E4D5D62 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 6952456309E29C9609D23B3F /* LaunchScreen.storyboard */; }; D609A7DCE8B3E7A49CFACC2E /* Navigator+Transition.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9816C413C0D0DD7B01BA9CE /* Navigator+Transition.swift */; }; DE665FDD6164065A881A2F44 /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = 67C0EA707F4FBB459FEBA640 /* .gitkeep */; }; + ED8ED5B147CBCCE402FBF994 /* Pods_sample_sampleKIFUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D146E58594E3E197B73C4F4 /* Pods_sample_sampleKIFUITests.framework */; }; F444409E14F8ED6BF6A2666A /* KIF+Swift.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFAE58D40BFE459B1184D994 /* KIF+Swift.swift */; }; F858855AD6392D182B853A79 /* Optional+Unwrap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 562EF605C844B951CD47F38D /* Optional+Unwrap.swift */; }; /* End PBXBuildFile section */ @@ -88,46 +88,46 @@ /* Begin PBXFileReference section */ 04B8796D7472561BF8EB10A1 /* DebugProduction.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = DebugProduction.xcconfig; sourceTree = ""; }; 05F57F86A37A0E0B6CC54CB4 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; - 0CA70F525D0A7A0F9E072286 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug production.xcconfig"; sourceTree = ""; }; + 067FD676486C484C5DF3D1F2 /* Pods-sample.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release staging.xcconfig"; sourceTree = ""; }; 18C176717B282B7A8842FC73 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 1D146E58594E3E197B73C4F4 /* Pods_sample_sampleKIFUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample_sampleKIFUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 1EEB8F8EE4393D2D9AC51316 /* R.generated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = R.generated.swift; sourceTree = ""; }; 222B1BD9F71FF1797F160231 /* Constants+API.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Constants+API.swift"; sourceTree = ""; }; - 228CED570D8374D22174ED2B /* Pods-sample-sampleKIFUITests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release production.xcconfig"; sourceTree = ""; }; + 27910D849D99DA801298AE36 /* Pods-sampleTests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug staging.xcconfig"; sourceTree = ""; }; 302BB730B8D0BF901FF489B6 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; 41210B648761A8DC4ABD3BB9 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; 414B86B12605C252A692EA37 /* sampleKIFUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = sampleKIFUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 429558BA19A144BC7895418B /* Pods-sampleTests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release production.xcconfig"; sourceTree = ""; }; + 43D8B5B6F1588EF241133014 /* Pods_sampleTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sampleTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 46E504EAA481E293B9386FA0 /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug staging.xcconfig"; sourceTree = ""; }; 562EF605C844B951CD47F38D /* Optional+Unwrap.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Optional+Unwrap.swift"; sourceTree = ""; }; - 5951987374231B70B57D1606 /* Pods-sampleTests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release staging.xcconfig"; sourceTree = ""; }; + 628B10B512A9E51E03B7F39E /* Pods-sample-sampleKIFUITests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release staging.xcconfig"; sourceTree = ""; }; 6432B427D5097BCF75C4B15E /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 67C0EA707F4FBB459FEBA640 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; 6952456309E29C9609D23B3F /* LaunchScreen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = ""; }; - 768D4997A98D3A2974D8E2F0 /* Pods-sample.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release staging.xcconfig"; sourceTree = ""; }; + 6A0BE3661B420AA002BB186B /* Pods-sample.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug production.xcconfig"; sourceTree = ""; }; + 6E6D35BCECF83A530172FABD /* Pods-sampleTests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release production.xcconfig"; sourceTree = ""; }; + 80F77ED65ED74B80EFCE40F2 /* Pods-sample.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release production.xcconfig"; sourceTree = ""; }; 82F5C2293A2DB24CDCA81957 /* Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = ""; }; - 8B62D36F1020145A3C86CAD3 /* Pods-sample.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug production.xcconfig"; sourceTree = ""; }; 8CA52B4C8C3AF1CB2181C14D /* UseCaseFactoryProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UseCaseFactoryProtocol.swift; sourceTree = ""; }; - 9E076EBB370491BA2376E1B5 /* Pods-sample.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug staging.xcconfig"; sourceTree = ""; }; - A142B771EB284E7D3DAC0CBA /* Pods_sampleTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sampleTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 9754905710A64088A021F2F4 /* Pods_sample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; A29F97F67192DE9B66E872E6 /* Color+Application.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Color+Application.swift"; sourceTree = ""; }; A64B0E7B034D526205048030 /* Navigator+Scene.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Navigator+Scene.swift"; sourceTree = ""; }; - A74D5E2A0D525D10481E7250 /* Pods-sample.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release production.xcconfig"; sourceTree = ""; }; - AA2A9285ED13FB9B9FFA7B31 /* Pods-sampleTests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug staging.xcconfig"; sourceTree = ""; }; + A7C45427C98A0A567BB4B566 /* Pods-sampleTests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release staging.xcconfig"; sourceTree = ""; }; + ACFD48EA5FF4601F13DEF25C /* Pods-sample-sampleKIFUITests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug production.xcconfig"; sourceTree = ""; }; ADE63A1C257C06E1D05C8136 /* DebugStaging.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = DebugStaging.xcconfig; sourceTree = ""; }; - AFF75F2D06F6FA309CECB63D /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug staging.xcconfig"; sourceTree = ""; }; - B61854C5388B396A5974BAD6 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release staging.xcconfig"; sourceTree = ""; }; B8847183C3FF3D70FE4192CD /* sampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = sampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; BBD1568B768046A18E011F2C /* HomeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeViewController.swift; sourceTree = ""; }; BBF1B234787FCD92142B105D /* AutoMockable.generated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutoMockable.generated.swift; sourceTree = ""; }; BD9D9C9A495C5EA0AE9039C6 /* ReleaseProduction.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = ReleaseProduction.xcconfig; sourceTree = ""; }; C159B27C88C08E8AEB22AFD4 /* Navigator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Navigator.swift; sourceTree = ""; }; + C17642A3BB36D9AA2586B83D /* Pods-sample.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug staging.xcconfig"; sourceTree = ""; }; + C8BEE08F8306F76C050225DD /* Pods-sample-sampleKIFUITests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release production.xcconfig"; sourceTree = ""; }; CD3A7C3AC94E15DEC4F12A85 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; CDBCDCBA1D855D7023A0342F /* UIView+Subviews.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIView+Subviews.swift"; sourceTree = ""; }; - CF4F92EC45F4BB17AE4E8E36 /* Pods_sample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D2D7345A2017D2D372785123 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; D2F657F289C5314152FFCFA2 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + D61D3BEB6F168C7F5D35B964 /* Pods-sampleTests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug production.xcconfig"; sourceTree = ""; }; E4C58806C2B28AED0873F8AF /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; - EB49354EF3BBBFB72256D9A9 /* Pods_sample_sampleKIFUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample_sampleKIFUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - ECD52F19AE4461F0888C979E /* Pods-sampleTests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug production.xcconfig"; sourceTree = ""; }; EFAE58D40BFE459B1184D994 /* KIF+Swift.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "KIF+Swift.swift"; sourceTree = ""; }; EFE5D281FD0FFFF44FC92B04 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; F5B819017A28FE15B242BB5B /* Typealiases.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Typealiases.swift; sourceTree = ""; }; @@ -141,7 +141,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1492566D5C4B64ED0F8F8076 /* Pods_sample_sampleKIFUITests.framework in Frameworks */, + ED8ED5B147CBCCE402FBF994 /* Pods_sample_sampleKIFUITests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -149,7 +149,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 10108BE2F49183ECA3173184 /* Pods_sampleTests.framework in Frameworks */, + 2748D4F37A48EC4EDBBCD23A /* Pods_sampleTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -157,7 +157,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 5CA5D04FEF70E8AF92616069 /* Pods_sample.framework in Frameworks */, + 4EEFE94BD31CE49EABB4A163 /* Pods_sample.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -174,6 +174,26 @@ path = sampleTests; sourceTree = ""; }; + 0798DC8D985B03CC773331B0 /* Pods */ = { + isa = PBXGroup; + children = ( + 6A0BE3661B420AA002BB186B /* Pods-sample.debug production.xcconfig */, + C17642A3BB36D9AA2586B83D /* Pods-sample.debug staging.xcconfig */, + 80F77ED65ED74B80EFCE40F2 /* Pods-sample.release production.xcconfig */, + 067FD676486C484C5DF3D1F2 /* Pods-sample.release staging.xcconfig */, + ACFD48EA5FF4601F13DEF25C /* Pods-sample-sampleKIFUITests.debug production.xcconfig */, + 46E504EAA481E293B9386FA0 /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */, + C8BEE08F8306F76C050225DD /* Pods-sample-sampleKIFUITests.release production.xcconfig */, + 628B10B512A9E51E03B7F39E /* Pods-sample-sampleKIFUITests.release staging.xcconfig */, + D61D3BEB6F168C7F5D35B964 /* Pods-sampleTests.debug production.xcconfig */, + 27910D849D99DA801298AE36 /* Pods-sampleTests.debug staging.xcconfig */, + 6E6D35BCECF83A530172FABD /* Pods-sampleTests.release production.xcconfig */, + A7C45427C98A0A567BB4B566 /* Pods-sampleTests.release staging.xcconfig */, + ); + name = Pods; + path = Pods; + sourceTree = ""; + }; 0ADEB457EA4FA311E2D99985 /* Configurations */ = { isa = PBXGroup; children = ( @@ -261,9 +281,9 @@ 52B072A663159D9D007D540F /* Frameworks */ = { isa = PBXGroup; children = ( - CF4F92EC45F4BB17AE4E8E36 /* Pods_sample.framework */, - EB49354EF3BBBFB72256D9A9 /* Pods_sample_sampleKIFUITests.framework */, - A142B771EB284E7D3DAC0CBA /* Pods_sampleTests.framework */, + 9754905710A64088A021F2F4 /* Pods_sample.framework */, + 1D146E58594E3E197B73C4F4 /* Pods_sample_sampleKIFUITests.framework */, + 43D8B5B6F1588EF241133014 /* Pods_sampleTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -298,7 +318,7 @@ 9B7CF20BE2915B62911C62AA /* Project */, 52B072A663159D9D007D540F /* Frameworks */, 372816F20EC291B850EECF1F /* Products */, - AC58EC84C25D7D985290DE33 /* Pods */, + 0798DC8D985B03CC773331B0 /* Pods */, ); sourceTree = ""; }; @@ -422,26 +442,6 @@ path = Sources; sourceTree = ""; }; - AC58EC84C25D7D985290DE33 /* Pods */ = { - isa = PBXGroup; - children = ( - 8B62D36F1020145A3C86CAD3 /* Pods-sample.debug production.xcconfig */, - 9E076EBB370491BA2376E1B5 /* Pods-sample.debug staging.xcconfig */, - A74D5E2A0D525D10481E7250 /* Pods-sample.release production.xcconfig */, - 768D4997A98D3A2974D8E2F0 /* Pods-sample.release staging.xcconfig */, - 0CA70F525D0A7A0F9E072286 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */, - AFF75F2D06F6FA309CECB63D /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */, - 228CED570D8374D22174ED2B /* Pods-sample-sampleKIFUITests.release production.xcconfig */, - B61854C5388B396A5974BAD6 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */, - ECD52F19AE4461F0888C979E /* Pods-sampleTests.debug production.xcconfig */, - AA2A9285ED13FB9B9FFA7B31 /* Pods-sampleTests.debug staging.xcconfig */, - 429558BA19A144BC7895418B /* Pods-sampleTests.release production.xcconfig */, - 5951987374231B70B57D1606 /* Pods-sampleTests.release staging.xcconfig */, - ); - name = Pods; - path = Pods; - sourceTree = ""; - }; AD9990D37804DDB2555BD909 /* Configurations */ = { isa = PBXGroup; children = ( @@ -570,7 +570,7 @@ isa = PBXNativeTarget; buildConfigurationList = 56FE2126489C1E87A2D918A3 /* Build configuration list for PBXNativeTarget "sample" */; buildPhases = ( - 3DD250BF63E7BDE89AA00A19 /* [CP] Check Pods Manifest.lock */, + 425D9A636A56CADC2C29DDD4 /* [CP] Check Pods Manifest.lock */, B2B621CC2B1F4F58601CD98D /* Sourcery */, 7EB246CFC1E0CCBA652DC37E /* R.swift */, CF26733D03C8D33F8823EE1F /* SwiftLint */, @@ -580,7 +580,7 @@ 494614C33B509301DBBDAD42 /* Embed Frameworks */, 89C77BA3C707AD804F79284B /* Frameworks */, 843C67A8A78058B8D8B3D11E /* Copy GoogleService-Info.plist */, - 6C6E2A0F24343128BB978E02 /* [CP] Embed Pods Frameworks */, + 128747FBC306AA294023A422 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -595,12 +595,12 @@ isa = PBXNativeTarget; buildConfigurationList = 31E84C030BDB7A39BCE38D8C /* Build configuration list for PBXNativeTarget "sampleKIFUITests" */; buildPhases = ( - DEBDAAA7D36994E2DEBE7C58 /* [CP] Check Pods Manifest.lock */, + 4051E2C19C29256F45FA0F54 /* [CP] Check Pods Manifest.lock */, 21ADDF0B071B770FFB6A086A /* Sources */, 43218B877C978B4CA5B93235 /* Resources */, 392BFB718CBF57CF0D23848E /* Embed Frameworks */, 29CEF4F9FF315D4254B8BC69 /* Frameworks */, - B6876F9347C20ABEFA480F47 /* [CP] Embed Pods Frameworks */, + FA503E5BFB311DF14DC28D04 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -616,13 +616,13 @@ isa = PBXNativeTarget; buildConfigurationList = C3875EBB5A0F6612B3515A13 /* Build configuration list for PBXNativeTarget "sampleTests" */; buildPhases = ( - 6F552D28AD7E01F0D64AAB4F /* [CP] Check Pods Manifest.lock */, + DC4BD794C12719EA5F1991EC /* [CP] Check Pods Manifest.lock */, 2F7B6AB35D89AA83D514ECC2 /* SwiftFormat */, 9344943859735CAEA8DDB048 /* Sources */, E472A2AC48FE9588146AB254 /* Resources */, 51D3263E7013F91DCDB0D884 /* Embed Frameworks */, 7A7AFF7C6576A774E896CA81 /* Frameworks */, - 05790AC9B1FC7543BA40ABBB /* [CP] Embed Pods Frameworks */, + EF43849C3F08E9A29D62B065 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -703,21 +703,21 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 05790AC9B1FC7543BA40ABBB /* [CP] Embed Pods Frameworks */ = { + 128747FBC306AA294023A422 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; 2F7B6AB35D89AA83D514ECC2 /* SwiftFormat */ = { @@ -738,7 +738,7 @@ shellPath = /bin/sh; shellScript = "if [ -z \"$CI\" ]; then\n \"${PODS_ROOT}/SwiftFormat/CommandLineTool/swiftformat\" \"$SRCROOT\"\nfi"; }; - 3DD250BF63E7BDE89AA00A19 /* [CP] Check Pods Manifest.lock */ = { + 4051E2C19C29256F45FA0F54 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -753,31 +753,14 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-sample-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-sample-sampleKIFUITests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 6C6E2A0F24343128BB978E02 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - 6F552D28AD7E01F0D64AAB4F /* [CP] Check Pods Manifest.lock */ = { + 425D9A636A56CADC2C29DDD4 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -792,7 +775,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-sampleTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-sample-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -855,23 +838,6 @@ shellPath = /bin/sh; shellScript = "\"$PODS_ROOT/Sourcery/bin/sourcery\""; }; - B6876F9347C20ABEFA480F47 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; CF26733D03C8D33F8823EE1F /* SwiftLint */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -890,7 +856,7 @@ shellPath = /bin/sh; shellScript = "if [ -z \"$CI\" ]; then\n ${PODS_ROOT}/SwiftLint/swiftlint\nfi"; }; - DEBDAAA7D36994E2DEBE7C58 /* [CP] Check Pods Manifest.lock */ = { + DC4BD794C12719EA5F1991EC /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -905,7 +871,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-sample-sampleKIFUITests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-sampleTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -930,6 +896,40 @@ shellPath = /bin/sh; shellScript = "if [ -z \"$CI\" ]; then\n \"${PODS_ROOT}/SwiftFormat/CommandLineTool/swiftformat\" \"$SRCROOT\" --lint --lenient\nfi"; }; + EF43849C3F08E9A29D62B065 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + FA503E5BFB311DF14DC28D04 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -989,7 +989,7 @@ /* Begin XCBuildConfiguration section */ 21ACBFF0B81C5FE1926420D2 /* Debug Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0CA70F525D0A7A0F9E072286 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */; + baseConfigurationReference = ACFD48EA5FF4601F13DEF25C /* Pods-sample-sampleKIFUITests.debug production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1014,7 +1014,7 @@ }; 252EA76B363BC50D825D8BD6 /* Debug Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AA2A9285ED13FB9B9FFA7B31 /* Pods-sampleTests.debug staging.xcconfig */; + baseConfigurationReference = 27910D849D99DA801298AE36 /* Pods-sampleTests.debug staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1039,7 +1039,7 @@ }; 388E6BE620787A06CA1CA7EE /* Release Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 768D4997A98D3A2974D8E2F0 /* Pods-sample.release staging.xcconfig */; + baseConfigurationReference = 067FD676486C484C5DF3D1F2 /* Pods-sample.release staging.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1063,7 +1063,7 @@ }; 38F81F703A83D6A307430059 /* Release Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 228CED570D8374D22174ED2B /* Pods-sample-sampleKIFUITests.release production.xcconfig */; + baseConfigurationReference = C8BEE08F8306F76C050225DD /* Pods-sample-sampleKIFUITests.release production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1087,7 +1087,7 @@ }; 3BEDFE87FC2F0AE206422087 /* Release Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 429558BA19A144BC7895418B /* Pods-sampleTests.release production.xcconfig */; + baseConfigurationReference = 6E6D35BCECF83A530172FABD /* Pods-sampleTests.release production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1111,7 +1111,7 @@ }; 3E22885F8CD58F60301062E2 /* Release Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B61854C5388B396A5974BAD6 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */; + baseConfigurationReference = 628B10B512A9E51E03B7F39E /* Pods-sample-sampleKIFUITests.release staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1135,7 +1135,7 @@ }; 4C1D6824327C0FD7CA0FD5EA /* Release Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A74D5E2A0D525D10481E7250 /* Pods-sample.release production.xcconfig */; + baseConfigurationReference = 80F77ED65ED74B80EFCE40F2 /* Pods-sample.release production.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1218,7 +1218,7 @@ }; 65EFF1C45B23F50B02803EAD /* Debug Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9E076EBB370491BA2376E1B5 /* Pods-sample.debug staging.xcconfig */; + baseConfigurationReference = C17642A3BB36D9AA2586B83D /* Pods-sample.debug staging.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1243,7 +1243,7 @@ }; 944F5AFF63FDFD18DB25D45F /* Debug Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 8B62D36F1020145A3C86CAD3 /* Pods-sample.debug production.xcconfig */; + baseConfigurationReference = 6A0BE3661B420AA002BB186B /* Pods-sample.debug production.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1268,7 +1268,7 @@ }; A6CE62F8A695FBBC221E4690 /* Debug Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = ECD52F19AE4461F0888C979E /* Pods-sampleTests.debug production.xcconfig */; + baseConfigurationReference = D61D3BEB6F168C7F5D35B964 /* Pods-sampleTests.debug production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1293,7 +1293,7 @@ }; B7E6733E7030283A3E74681B /* Debug Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AFF75F2D06F6FA309CECB63D /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */; + baseConfigurationReference = 46E504EAA481E293B9386FA0 /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1371,7 +1371,7 @@ }; BD91BBB9D406D96A13EB8291 /* Release Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 5951987374231B70B57D1606 /* Pods-sampleTests.release staging.xcconfig */; + baseConfigurationReference = A7C45427C98A0A567BB4B566 /* Pods-sampleTests.release staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; From e09524d6a631da7b2bea0912e08166439f2b3a31 Mon Sep 17 00:00:00 2001 From: "Luong Vo (Lucas)" Date: Thu, 30 Nov 2023 17:52:38 +0700 Subject: [PATCH 17/25] [#6] Fix: rename sample app package back to "co.nimblehq.kmm.template" (we forgot to revert it from this PR https://github.com/nimblehq/kmm-templates/pull/47) --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f8cef9f4..0d72d82f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -52,7 +52,7 @@ jobs: run: rm -rf sample - name: Generate the new sample project - run: ./make.sh --bundle-id co.nimblehq.kmm.sample --bundle-id-staging co.nimblehq.kmm.sample.staging --project-name sample --ios-version 14.0 + run: ./make.sh --bundle-id co.nimblehq.kmm.template --bundle-id-staging co.nimblehq.kmm.template.staging --project-name sample --ios-version 14.0 - name: Restore the previous ArkanaKeys's keys run: | From a8e761b6ff22608d052e315e8b97c41644a98ea7 Mon Sep 17 00:00:00 2001 From: "Luong Vo (Lucas)" Date: Thu, 30 Nov 2023 17:53:18 +0700 Subject: [PATCH 18/25] [#6] Fix: update BUILD_KONFIG_PROPERTIES fetching for test.yml workflow --- .github/workflows/test.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0d72d82f..f37be785 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -105,8 +105,8 @@ jobs: restore-keys: | ${{ runner.os }}-gradle- - - name: Decode buildKonfig properties - run: echo ${{ secrets.BUILD_KONFIG_PROPERTIES }} | base64 --decode > buildKonfig.properties + - name: Set up the necessary config + run: echo "${{ secrets.BUILD_KONFIG_PROPERTIES }}" > buildKonfig.properties - name: Run Detekt run: ./gradlew detekt @@ -170,9 +170,9 @@ jobs: restore-keys: | ${{ runner.os }}-pods- - - name: Decode buildKonfig properties + - name: Set up the necessary config working-directory: ./sample - run: echo ${{ secrets.BUILD_KONFIG_PROPERTIES }} | base64 --decode > buildKonfig.properties + run: echo "${{ secrets.BUILD_KONFIG_PROPERTIES }}" > buildKonfig.properties - name: Generate KMM frameworks for Cocoapods run: | From 8bc5ac73d181b4a17b5d685388c652536b957a28 Mon Sep 17 00:00:00 2001 From: team-nimblehq Date: Thu, 30 Nov 2023 10:58:16 +0000 Subject: [PATCH 19/25] [Chore] Generate & update sample project --- sample/.github/workflows/test.yml | 10 +- sample/android/build.gradle.kts | 4 +- .../co/nimblehq/kmm/sample/lib/TypeAlias.kt | 3 - .../nimblehq/kmm/sample/ui/models/UiModel.kt | 9 - .../{sample => template}/MainApplication.kt | 8 +- .../di/modules/AppModule.kt | 6 +- .../di/modules/ViewModelModule.kt | 4 +- .../extensions/ContextExt.kt | 2 +- .../extensions/FlowExt.kt | 2 +- .../co/nimblehq/kmm/template/lib/TypeAlias.kt | 3 + .../{sample => template}/ui/AppDestination.kt | 2 +- .../{sample => template}/ui/AppNavigation.kt | 4 +- .../{sample => template}/ui/ErrorMapping.kt | 8 +- .../ui/base/BaseViewModel.kt | 6 +- .../kmm/template/ui/models/UiModel.kt | 9 + .../ui/screens/MainActivity.kt | 6 +- .../ui/screens/home/HomeScreen.kt | 16 +- .../ui/screens/home/HomeViewModel.kt | 12 +- .../ui/theme/AppColors.kt | 2 +- .../ui/theme/AppDimensions.kt | 2 +- .../ui/theme/AppShapes.kt | 2 +- .../ui/theme/AppStyles.kt | 2 +- .../ui/theme/AppTypography.kt | 2 +- .../{sample => template}/ui/theme/Theme.kt | 2 +- .../util/DispatchersProvider.kt | 2 +- .../util/DispatchersProviderImpl.kt | 2 +- .../test/CoroutineTestRule.kt | 4 +- .../kmm/{sample => template}/test/MockUtil.kt | 4 +- .../ui/screens/BaseScreenTest.kt | 4 +- .../ui/screens/home/HomeScreenTest.kt | 16 +- .../ui/screens/home/HomeViewModelTest.kt | 12 +- sample/ios/fastlane/Constants/Constant.swift | 4 +- sample/ios/sample.xcodeproj/project.pbxproj | 234 +++++++++--------- .../XCConfigs/DebugProduction.xcconfig | 2 +- .../XCConfigs/DebugStaging.xcconfig | 2 +- .../XCConfigs/ReleaseProduction.xcconfig | 2 +- .../XCConfigs/ReleaseStaging.xcconfig | 2 +- sample/shared/build.gradle.kts | 4 +- .../{sample => template}/Platform.android.kt | 2 +- .../di/modules/PlatformModule.kt | 2 +- .../kmm/{sample => template}/androidTest.kt | 2 +- .../data/repositories/RepositoryImpl.kt | 16 -- .../kmm/sample/di/modules/RemoteModule.kt | 13 - .../kmm/sample/domain/models/Model.kt | 5 - .../sample/domain/repositories/Repository.kt | 8 - .../kmm/{sample => template}/Greeting.kt | 2 +- .../kmm/{sample => template}/Platform.kt | 2 +- .../extensions/HttpRequestBuilderExtension.kt | 4 +- .../data/extensions/ResponseMapping.kt | 2 +- .../data/remote/ApiClient.kt | 4 +- .../remote/datasources/RemoteDataSource.kt | 6 +- .../data/remote/models/responses/Response.kt | 4 +- .../data/repositories/RepositoryImpl.kt | 16 ++ .../kmm/{sample => template}/di/Koin.kt | 4 +- .../di/modules/PlatformModule.kt | 2 +- .../kmm/template/di/modules/RemoteModule.kt | 13 + .../di/modules/RepositoryModule.kt | 6 +- .../di/modules/UseCaseModule.kt | 6 +- .../domain/exceptions/ApiException.kt | 2 +- .../kmm/template/domain/models/Model.kt | 5 + .../domain/repositories/Repository.kt | 8 + .../domain/usecases/UseCase.kt | 6 +- .../co/nimblehq/kmm/sample/util/Fake.kt | 11 - .../kmm/{sample => template}/commonTest.kt | 2 +- .../data/repositories/RepositoryTest.kt | 10 +- .../domain/usecases/UseCaseTest.kt | 6 +- .../extensions/ResponseMappingTest.kt | 6 +- .../co/nimblehq/kmm/template/util/Fake.kt | 11 + .../kmm/{sample => template}/Platform.ios.kt | 2 +- .../di/modules/PlatformModule.kt | 2 +- .../kmm/{sample => template}/iosTest.kt | 2 +- 71 files changed, 306 insertions(+), 306 deletions(-) delete mode 100644 sample/android/src/main/java/co/nimblehq/kmm/sample/lib/TypeAlias.kt delete mode 100644 sample/android/src/main/java/co/nimblehq/kmm/sample/ui/models/UiModel.kt rename sample/android/src/main/java/co/nimblehq/kmm/{sample => template}/MainApplication.kt (74%) rename sample/android/src/main/java/co/nimblehq/kmm/{sample => template}/di/modules/AppModule.kt (54%) rename sample/android/src/main/java/co/nimblehq/kmm/{sample => template}/di/modules/ViewModelModule.kt (57%) rename sample/android/src/main/java/co/nimblehq/kmm/{sample => template}/extensions/ContextExt.kt (81%) rename sample/android/src/main/java/co/nimblehq/kmm/{sample => template}/extensions/FlowExt.kt (92%) create mode 100644 sample/android/src/main/java/co/nimblehq/kmm/template/lib/TypeAlias.kt rename sample/android/src/main/java/co/nimblehq/kmm/{sample => template}/ui/AppDestination.kt (88%) rename sample/android/src/main/java/co/nimblehq/kmm/{sample => template}/ui/AppNavigation.kt (92%) rename sample/android/src/main/java/co/nimblehq/kmm/{sample => template}/ui/ErrorMapping.kt (63%) rename sample/android/src/main/java/co/nimblehq/kmm/{sample => template}/ui/base/BaseViewModel.kt (91%) create mode 100644 sample/android/src/main/java/co/nimblehq/kmm/template/ui/models/UiModel.kt rename sample/android/src/main/java/co/nimblehq/kmm/{sample => template}/ui/screens/MainActivity.kt (71%) rename sample/android/src/main/java/co/nimblehq/kmm/{sample => template}/ui/screens/home/HomeScreen.kt (81%) rename sample/android/src/main/java/co/nimblehq/kmm/{sample => template}/ui/screens/home/HomeViewModel.kt (67%) rename sample/android/src/main/java/co/nimblehq/kmm/{sample => template}/ui/theme/AppColors.kt (93%) rename sample/android/src/main/java/co/nimblehq/kmm/{sample => template}/ui/theme/AppDimensions.kt (86%) rename sample/android/src/main/java/co/nimblehq/kmm/{sample => template}/ui/theme/AppShapes.kt (84%) rename sample/android/src/main/java/co/nimblehq/kmm/{sample => template}/ui/theme/AppStyles.kt (80%) rename sample/android/src/main/java/co/nimblehq/kmm/{sample => template}/ui/theme/AppTypography.kt (85%) rename sample/android/src/main/java/co/nimblehq/kmm/{sample => template}/ui/theme/Theme.kt (97%) rename sample/android/src/main/java/co/nimblehq/kmm/{sample => template}/util/DispatchersProvider.kt (82%) rename sample/android/src/main/java/co/nimblehq/kmm/{sample => template}/util/DispatchersProviderImpl.kt (85%) rename sample/android/src/test/java/co/nimblehq/kmm/{sample => template}/test/CoroutineTestRule.kt (89%) rename sample/android/src/test/java/co/nimblehq/kmm/{sample => template}/test/MockUtil.kt (57%) rename sample/android/src/test/java/co/nimblehq/kmm/{sample => template}/ui/screens/BaseScreenTest.kt (79%) rename sample/android/src/test/java/co/nimblehq/kmm/{sample => template}/ui/screens/home/HomeScreenTest.kt (85%) rename sample/android/src/test/java/co/nimblehq/kmm/{sample => template}/ui/screens/home/HomeViewModelTest.kt (85%) rename sample/shared/src/androidMain/kotlin/co/nimblehq/kmm/{sample => template}/Platform.android.kt (83%) rename sample/shared/src/androidMain/kotlin/co/nimblehq/kmm/{sample => template}/di/modules/PlatformModule.kt (81%) rename sample/shared/src/androidUnitTest/kotlin/co/nimblehq/kmm/{sample => template}/androidTest.kt (86%) delete mode 100644 sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/repositories/RepositoryImpl.kt delete mode 100644 sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/di/modules/RemoteModule.kt delete mode 100644 sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/domain/models/Model.kt delete mode 100644 sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/domain/repositories/Repository.kt rename sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/{sample => template}/Greeting.kt (81%) rename sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/{sample => template}/Platform.kt (71%) rename sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/{sample => template}/data/extensions/HttpRequestBuilderExtension.kt (56%) rename sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/{sample => template}/data/extensions/ResponseMapping.kt (90%) rename sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/{sample => template}/data/remote/ApiClient.kt (95%) rename sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/{sample => template}/data/remote/datasources/RemoteDataSource.kt (62%) rename sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/{sample => template}/data/remote/models/responses/Response.kt (62%) create mode 100644 sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/repositories/RepositoryImpl.kt rename sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/{sample => template}/di/Koin.kt (83%) rename sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/{sample => template}/di/modules/PlatformModule.kt (62%) create mode 100644 sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/di/modules/RemoteModule.kt rename sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/{sample => template}/di/modules/RepositoryModule.kt (51%) rename sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/{sample => template}/di/modules/UseCaseModule.kt (52%) rename sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/{sample => template}/domain/exceptions/ApiException.kt (76%) create mode 100644 sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/domain/models/Model.kt create mode 100644 sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/domain/repositories/Repository.kt rename sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/{sample => template}/domain/usecases/UseCase.kt (59%) delete mode 100644 sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/sample/util/Fake.kt rename sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/{sample => template}/commonTest.kt (86%) rename sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/{sample => template}/data/repositories/RepositoryTest.kt (81%) rename sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/{sample => template}/domain/usecases/UseCaseTest.kt (89%) rename sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/{sample => template}/extensions/ResponseMappingTest.kt (83%) create mode 100644 sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/template/util/Fake.kt rename sample/shared/src/iosMain/kotlin/co/nimblehq/kmm/{sample => template}/Platform.ios.kt (87%) rename sample/shared/src/iosMain/kotlin/co/nimblehq/kmm/{sample => template}/di/modules/PlatformModule.kt (80%) rename sample/shared/src/iosTest/kotlin/co/nimblehq/kmm/{sample => template}/iosTest.kt (86%) diff --git a/sample/.github/workflows/test.yml b/sample/.github/workflows/test.yml index f8cef9f4..f37be785 100644 --- a/sample/.github/workflows/test.yml +++ b/sample/.github/workflows/test.yml @@ -52,7 +52,7 @@ jobs: run: rm -rf sample - name: Generate the new sample project - run: ./make.sh --bundle-id co.nimblehq.kmm.sample --bundle-id-staging co.nimblehq.kmm.sample.staging --project-name sample --ios-version 14.0 + run: ./make.sh --bundle-id co.nimblehq.kmm.template --bundle-id-staging co.nimblehq.kmm.template.staging --project-name sample --ios-version 14.0 - name: Restore the previous ArkanaKeys's keys run: | @@ -105,8 +105,8 @@ jobs: restore-keys: | ${{ runner.os }}-gradle- - - name: Decode buildKonfig properties - run: echo ${{ secrets.BUILD_KONFIG_PROPERTIES }} | base64 --decode > buildKonfig.properties + - name: Set up the necessary config + run: echo "${{ secrets.BUILD_KONFIG_PROPERTIES }}" > buildKonfig.properties - name: Run Detekt run: ./gradlew detekt @@ -170,9 +170,9 @@ jobs: restore-keys: | ${{ runner.os }}-pods- - - name: Decode buildKonfig properties + - name: Set up the necessary config working-directory: ./sample - run: echo ${{ secrets.BUILD_KONFIG_PROPERTIES }} | base64 --decode > buildKonfig.properties + run: echo "${{ secrets.BUILD_KONFIG_PROPERTIES }}" > buildKonfig.properties - name: Generate KMM frameworks for Cocoapods run: | diff --git a/sample/android/build.gradle.kts b/sample/android/build.gradle.kts index e8070286..8b5729ee 100644 --- a/sample/android/build.gradle.kts +++ b/sample/android/build.gradle.kts @@ -17,11 +17,11 @@ val getVersionCode: () -> Int = { } android { - namespace = "co.nimblehq.kmm.sample" + namespace = "co.nimblehq.kmm.template" compileSdk = Versions.ANDROID_COMPILE_SDK defaultConfig { - applicationId = "co.nimblehq.kmm.sample" + applicationId = "co.nimblehq.kmm.template" minSdk = Versions.ANDROID_MIN_SDK targetSdk = Versions.ANDROID_TARGET_SDK versionCode = getVersionCode() diff --git a/sample/android/src/main/java/co/nimblehq/kmm/sample/lib/TypeAlias.kt b/sample/android/src/main/java/co/nimblehq/kmm/sample/lib/TypeAlias.kt deleted file mode 100644 index 74fc1754..00000000 --- a/sample/android/src/main/java/co/nimblehq/kmm/sample/lib/TypeAlias.kt +++ /dev/null @@ -1,3 +0,0 @@ -package co.nimblehq.kmm.sample.lib - -typealias IsLoading = Boolean diff --git a/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/models/UiModel.kt b/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/models/UiModel.kt deleted file mode 100644 index 914b505d..00000000 --- a/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/models/UiModel.kt +++ /dev/null @@ -1,9 +0,0 @@ -package co.nimblehq.kmm.sample.ui.models - -import co.nimblehq.kmm.sample.domain.models.Model - -data class UiModel( - val id: Int -) - -fun Model.toUiModel() = UiModel(id = id ?: -1) diff --git a/sample/android/src/main/java/co/nimblehq/kmm/sample/MainApplication.kt b/sample/android/src/main/java/co/nimblehq/kmm/template/MainApplication.kt similarity index 74% rename from sample/android/src/main/java/co/nimblehq/kmm/sample/MainApplication.kt rename to sample/android/src/main/java/co/nimblehq/kmm/template/MainApplication.kt index 3bb7e810..eb3d4c48 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/sample/MainApplication.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/template/MainApplication.kt @@ -1,9 +1,9 @@ -package co.nimblehq.kmm.sample +package co.nimblehq.kmm.template import android.app.Application -import co.nimblehq.kmm.sample.di.initKoin -import co.nimblehq.kmm.sample.di.modules.appModule -import co.nimblehq.kmm.sample.di.modules.viewModelModule +import co.nimblehq.kmm.template.di.initKoin +import co.nimblehq.kmm.template.di.modules.appModule +import co.nimblehq.kmm.template.di.modules.viewModelModule import org.koin.android.ext.koin.androidContext import org.koin.android.ext.koin.androidLogger import timber.log.Timber diff --git a/sample/android/src/main/java/co/nimblehq/kmm/sample/di/modules/AppModule.kt b/sample/android/src/main/java/co/nimblehq/kmm/template/di/modules/AppModule.kt similarity index 54% rename from sample/android/src/main/java/co/nimblehq/kmm/sample/di/modules/AppModule.kt rename to sample/android/src/main/java/co/nimblehq/kmm/template/di/modules/AppModule.kt index 908c9732..f7009181 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/sample/di/modules/AppModule.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/template/di/modules/AppModule.kt @@ -1,7 +1,7 @@ -package co.nimblehq.kmm.sample.di.modules +package co.nimblehq.kmm.template.di.modules -import co.nimblehq.kmm.sample.util.DispatchersProvider -import co.nimblehq.kmm.sample.util.DispatchersProviderImpl +import co.nimblehq.kmm.template.util.DispatchersProvider +import co.nimblehq.kmm.template.util.DispatchersProviderImpl import org.koin.core.module.dsl.singleOf import org.koin.dsl.bind import org.koin.dsl.module diff --git a/sample/android/src/main/java/co/nimblehq/kmm/sample/di/modules/ViewModelModule.kt b/sample/android/src/main/java/co/nimblehq/kmm/template/di/modules/ViewModelModule.kt similarity index 57% rename from sample/android/src/main/java/co/nimblehq/kmm/sample/di/modules/ViewModelModule.kt rename to sample/android/src/main/java/co/nimblehq/kmm/template/di/modules/ViewModelModule.kt index 2df99f8d..8af638f6 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/sample/di/modules/ViewModelModule.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/template/di/modules/ViewModelModule.kt @@ -1,6 +1,6 @@ -package co.nimblehq.kmm.sample.di.modules +package co.nimblehq.kmm.template.di.modules -import co.nimblehq.kmm.sample.ui.screens.home.HomeViewModel +import co.nimblehq.kmm.template.ui.screens.home.HomeViewModel import org.koin.androidx.viewmodel.dsl.viewModelOf import org.koin.dsl.module diff --git a/sample/android/src/main/java/co/nimblehq/kmm/sample/extensions/ContextExt.kt b/sample/android/src/main/java/co/nimblehq/kmm/template/extensions/ContextExt.kt similarity index 81% rename from sample/android/src/main/java/co/nimblehq/kmm/sample/extensions/ContextExt.kt rename to sample/android/src/main/java/co/nimblehq/kmm/template/extensions/ContextExt.kt index d4fb5e73..8b96a7e3 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/sample/extensions/ContextExt.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/template/extensions/ContextExt.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.sample.extensions +package co.nimblehq.kmm.template.extensions import android.content.Context import android.widget.Toast diff --git a/sample/android/src/main/java/co/nimblehq/kmm/sample/extensions/FlowExt.kt b/sample/android/src/main/java/co/nimblehq/kmm/template/extensions/FlowExt.kt similarity index 92% rename from sample/android/src/main/java/co/nimblehq/kmm/sample/extensions/FlowExt.kt rename to sample/android/src/main/java/co/nimblehq/kmm/template/extensions/FlowExt.kt index 0b5aeacb..60ba3212 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/sample/extensions/FlowExt.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/template/extensions/FlowExt.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.sample.extensions +package co.nimblehq.kmm.template.extensions import android.annotation.SuppressLint import androidx.compose.runtime.Composable diff --git a/sample/android/src/main/java/co/nimblehq/kmm/template/lib/TypeAlias.kt b/sample/android/src/main/java/co/nimblehq/kmm/template/lib/TypeAlias.kt new file mode 100644 index 00000000..5e6a53c9 --- /dev/null +++ b/sample/android/src/main/java/co/nimblehq/kmm/template/lib/TypeAlias.kt @@ -0,0 +1,3 @@ +package co.nimblehq.kmm.template.lib + +typealias IsLoading = Boolean diff --git a/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/AppDestination.kt b/sample/android/src/main/java/co/nimblehq/kmm/template/ui/AppDestination.kt similarity index 88% rename from sample/android/src/main/java/co/nimblehq/kmm/sample/ui/AppDestination.kt rename to sample/android/src/main/java/co/nimblehq/kmm/template/ui/AppDestination.kt index 1a2c17f0..2f8a5446 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/AppDestination.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/template/ui/AppDestination.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.sample.ui +package co.nimblehq.kmm.template.ui import androidx.navigation.* diff --git a/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/AppNavigation.kt b/sample/android/src/main/java/co/nimblehq/kmm/template/ui/AppNavigation.kt similarity index 92% rename from sample/android/src/main/java/co/nimblehq/kmm/sample/ui/AppNavigation.kt rename to sample/android/src/main/java/co/nimblehq/kmm/template/ui/AppNavigation.kt index 22f16026..9012f069 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/AppNavigation.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/template/ui/AppNavigation.kt @@ -1,9 +1,9 @@ -package co.nimblehq.kmm.sample.ui +package co.nimblehq.kmm.template.ui import androidx.compose.runtime.Composable import androidx.navigation.* import androidx.navigation.compose.* -import co.nimblehq.kmm.sample.ui.screens.home.HomeScreen +import co.nimblehq.kmm.template.ui.screens.home.HomeScreen @Composable fun AppNavigation( diff --git a/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/ErrorMapping.kt b/sample/android/src/main/java/co/nimblehq/kmm/template/ui/ErrorMapping.kt similarity index 63% rename from sample/android/src/main/java/co/nimblehq/kmm/sample/ui/ErrorMapping.kt rename to sample/android/src/main/java/co/nimblehq/kmm/template/ui/ErrorMapping.kt index b661603b..b7883879 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/ErrorMapping.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/template/ui/ErrorMapping.kt @@ -1,9 +1,9 @@ -package co.nimblehq.kmm.sample.ui +package co.nimblehq.kmm.template.ui import android.content.Context -import co.nimblehq.kmm.sample.R -import co.nimblehq.kmm.sample.domain.exceptions.ApiException -import co.nimblehq.kmm.sample.extensions.showToast +import co.nimblehq.kmm.template.R +import co.nimblehq.kmm.template.domain.exceptions.ApiException +import co.nimblehq.kmm.template.extensions.showToast fun Throwable.userReadableMessage(context: Context): String { return when (this) { diff --git a/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/base/BaseViewModel.kt b/sample/android/src/main/java/co/nimblehq/kmm/template/ui/base/BaseViewModel.kt similarity index 91% rename from sample/android/src/main/java/co/nimblehq/kmm/sample/ui/base/BaseViewModel.kt rename to sample/android/src/main/java/co/nimblehq/kmm/template/ui/base/BaseViewModel.kt index cdff1495..89eae4fa 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/base/BaseViewModel.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/template/ui/base/BaseViewModel.kt @@ -1,9 +1,9 @@ -package co.nimblehq.kmm.sample.ui.base +package co.nimblehq.kmm.template.ui.base import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import co.nimblehq.kmm.sample.lib.IsLoading -import co.nimblehq.kmm.sample.ui.AppDestination +import co.nimblehq.kmm.template.lib.IsLoading +import co.nimblehq.kmm.template.ui.AppDestination import kotlinx.coroutines.flow.* import kotlinx.coroutines.launch import kotlin.coroutines.CoroutineContext diff --git a/sample/android/src/main/java/co/nimblehq/kmm/template/ui/models/UiModel.kt b/sample/android/src/main/java/co/nimblehq/kmm/template/ui/models/UiModel.kt new file mode 100644 index 00000000..40b284b7 --- /dev/null +++ b/sample/android/src/main/java/co/nimblehq/kmm/template/ui/models/UiModel.kt @@ -0,0 +1,9 @@ +package co.nimblehq.kmm.template.ui.models + +import co.nimblehq.kmm.template.domain.models.Model + +data class UiModel( + val id: Int +) + +fun Model.toUiModel() = UiModel(id = id ?: -1) diff --git a/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/screens/MainActivity.kt b/sample/android/src/main/java/co/nimblehq/kmm/template/ui/screens/MainActivity.kt similarity index 71% rename from sample/android/src/main/java/co/nimblehq/kmm/sample/ui/screens/MainActivity.kt rename to sample/android/src/main/java/co/nimblehq/kmm/template/ui/screens/MainActivity.kt index 3c2410b1..e45f4a44 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/screens/MainActivity.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/template/ui/screens/MainActivity.kt @@ -1,10 +1,10 @@ -package co.nimblehq.kmm.sample.ui.screens +package co.nimblehq.kmm.template.ui.screens import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent -import co.nimblehq.kmm.sample.ui.AppNavigation -import co.nimblehq.kmm.sample.ui.theme.ComposeTheme +import co.nimblehq.kmm.template.ui.AppNavigation +import co.nimblehq.kmm.template.ui.theme.ComposeTheme class MainActivity : ComponentActivity() { diff --git a/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/screens/home/HomeScreen.kt b/sample/android/src/main/java/co/nimblehq/kmm/template/ui/screens/home/HomeScreen.kt similarity index 81% rename from sample/android/src/main/java/co/nimblehq/kmm/sample/ui/screens/home/HomeScreen.kt rename to sample/android/src/main/java/co/nimblehq/kmm/template/ui/screens/home/HomeScreen.kt index 1b34881e..48d60d37 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/screens/home/HomeScreen.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/template/ui/screens/home/HomeScreen.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.sample.ui.screens.home +package co.nimblehq.kmm.template.ui.screens.home import androidx.compose.foundation.layout.* import androidx.compose.material.Text @@ -10,13 +10,13 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.lifecycle.compose.collectAsStateWithLifecycle -import co.nimblehq.kmm.sample.R -import co.nimblehq.kmm.sample.extensions.collectAsEffect -import co.nimblehq.kmm.sample.ui.AppDestination -import co.nimblehq.kmm.sample.ui.models.UiModel -import co.nimblehq.kmm.sample.ui.showToast -import co.nimblehq.kmm.sample.ui.theme.AppTheme.dimensions -import co.nimblehq.kmm.sample.ui.theme.ComposeTheme +import co.nimblehq.kmm.template.R +import co.nimblehq.kmm.template.extensions.collectAsEffect +import co.nimblehq.kmm.template.ui.AppDestination +import co.nimblehq.kmm.template.ui.models.UiModel +import co.nimblehq.kmm.template.ui.showToast +import co.nimblehq.kmm.template.ui.theme.AppTheme.dimensions +import co.nimblehq.kmm.template.ui.theme.ComposeTheme import org.koin.androidx.compose.getViewModel import timber.log.Timber diff --git a/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/screens/home/HomeViewModel.kt b/sample/android/src/main/java/co/nimblehq/kmm/template/ui/screens/home/HomeViewModel.kt similarity index 67% rename from sample/android/src/main/java/co/nimblehq/kmm/sample/ui/screens/home/HomeViewModel.kt rename to sample/android/src/main/java/co/nimblehq/kmm/template/ui/screens/home/HomeViewModel.kt index d6da9e2f..f028a420 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/screens/home/HomeViewModel.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/template/ui/screens/home/HomeViewModel.kt @@ -1,11 +1,11 @@ -package co.nimblehq.kmm.sample.ui.screens.home +package co.nimblehq.kmm.template.ui.screens.home import androidx.lifecycle.viewModelScope -import co.nimblehq.kmm.sample.domain.usecases.UseCase -import co.nimblehq.kmm.sample.ui.base.BaseViewModel -import co.nimblehq.kmm.sample.ui.models.UiModel -import co.nimblehq.kmm.sample.ui.models.toUiModel -import co.nimblehq.kmm.sample.util.DispatchersProvider +import co.nimblehq.kmm.template.domain.usecases.UseCase +import co.nimblehq.kmm.template.ui.base.BaseViewModel +import co.nimblehq.kmm.template.ui.models.UiModel +import co.nimblehq.kmm.template.ui.models.toUiModel +import co.nimblehq.kmm.template.util.DispatchersProvider import kotlinx.coroutines.flow.* class HomeViewModel( diff --git a/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/theme/AppColors.kt b/sample/android/src/main/java/co/nimblehq/kmm/template/ui/theme/AppColors.kt similarity index 93% rename from sample/android/src/main/java/co/nimblehq/kmm/sample/ui/theme/AppColors.kt rename to sample/android/src/main/java/co/nimblehq/kmm/template/ui/theme/AppColors.kt index 0086e04a..1eca1eb5 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/theme/AppColors.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/template/ui/theme/AppColors.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.sample.ui.theme +package co.nimblehq.kmm.template.ui.theme import androidx.compose.material.* import androidx.compose.runtime.staticCompositionLocalOf diff --git a/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/theme/AppDimensions.kt b/sample/android/src/main/java/co/nimblehq/kmm/template/ui/theme/AppDimensions.kt similarity index 86% rename from sample/android/src/main/java/co/nimblehq/kmm/sample/ui/theme/AppDimensions.kt rename to sample/android/src/main/java/co/nimblehq/kmm/template/ui/theme/AppDimensions.kt index 6d9cfa85..63e23f78 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/theme/AppDimensions.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/template/ui/theme/AppDimensions.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.sample.ui.theme +package co.nimblehq.kmm.template.ui.theme import androidx.compose.runtime.staticCompositionLocalOf import androidx.compose.ui.unit.dp diff --git a/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/theme/AppShapes.kt b/sample/android/src/main/java/co/nimblehq/kmm/template/ui/theme/AppShapes.kt similarity index 84% rename from sample/android/src/main/java/co/nimblehq/kmm/sample/ui/theme/AppShapes.kt rename to sample/android/src/main/java/co/nimblehq/kmm/template/ui/theme/AppShapes.kt index 636901a1..0a039411 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/theme/AppShapes.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/template/ui/theme/AppShapes.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.sample.ui.theme +package co.nimblehq.kmm.template.ui.theme import androidx.compose.material.Shapes import androidx.compose.runtime.staticCompositionLocalOf diff --git a/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/theme/AppStyles.kt b/sample/android/src/main/java/co/nimblehq/kmm/template/ui/theme/AppStyles.kt similarity index 80% rename from sample/android/src/main/java/co/nimblehq/kmm/sample/ui/theme/AppStyles.kt rename to sample/android/src/main/java/co/nimblehq/kmm/template/ui/theme/AppStyles.kt index 944f13e9..b6568d36 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/theme/AppStyles.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/template/ui/theme/AppStyles.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.sample.ui.theme +package co.nimblehq.kmm.template.ui.theme import androidx.compose.runtime.staticCompositionLocalOf diff --git a/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/theme/AppTypography.kt b/sample/android/src/main/java/co/nimblehq/kmm/template/ui/theme/AppTypography.kt similarity index 85% rename from sample/android/src/main/java/co/nimblehq/kmm/sample/ui/theme/AppTypography.kt rename to sample/android/src/main/java/co/nimblehq/kmm/template/ui/theme/AppTypography.kt index 962c0da9..b8c49e23 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/theme/AppTypography.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/template/ui/theme/AppTypography.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.sample.ui.theme +package co.nimblehq.kmm.template.ui.theme import androidx.compose.material.Typography import androidx.compose.runtime.staticCompositionLocalOf diff --git a/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/theme/Theme.kt b/sample/android/src/main/java/co/nimblehq/kmm/template/ui/theme/Theme.kt similarity index 97% rename from sample/android/src/main/java/co/nimblehq/kmm/sample/ui/theme/Theme.kt rename to sample/android/src/main/java/co/nimblehq/kmm/template/ui/theme/Theme.kt index 9562824e..5a849441 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/sample/ui/theme/Theme.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/template/ui/theme/Theme.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.sample.ui.theme +package co.nimblehq.kmm.template.ui.theme import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.material.* diff --git a/sample/android/src/main/java/co/nimblehq/kmm/sample/util/DispatchersProvider.kt b/sample/android/src/main/java/co/nimblehq/kmm/template/util/DispatchersProvider.kt similarity index 82% rename from sample/android/src/main/java/co/nimblehq/kmm/sample/util/DispatchersProvider.kt rename to sample/android/src/main/java/co/nimblehq/kmm/template/util/DispatchersProvider.kt index 65ff1c6b..809152be 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/sample/util/DispatchersProvider.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/template/util/DispatchersProvider.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.sample.util +package co.nimblehq.kmm.template.util import kotlinx.coroutines.CoroutineDispatcher diff --git a/sample/android/src/main/java/co/nimblehq/kmm/sample/util/DispatchersProviderImpl.kt b/sample/android/src/main/java/co/nimblehq/kmm/template/util/DispatchersProviderImpl.kt similarity index 85% rename from sample/android/src/main/java/co/nimblehq/kmm/sample/util/DispatchersProviderImpl.kt rename to sample/android/src/main/java/co/nimblehq/kmm/template/util/DispatchersProviderImpl.kt index e9e67808..62e88d40 100644 --- a/sample/android/src/main/java/co/nimblehq/kmm/sample/util/DispatchersProviderImpl.kt +++ b/sample/android/src/main/java/co/nimblehq/kmm/template/util/DispatchersProviderImpl.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.sample.util +package co.nimblehq.kmm.template.util import kotlinx.coroutines.Dispatchers diff --git a/sample/android/src/test/java/co/nimblehq/kmm/sample/test/CoroutineTestRule.kt b/sample/android/src/test/java/co/nimblehq/kmm/template/test/CoroutineTestRule.kt similarity index 89% rename from sample/android/src/test/java/co/nimblehq/kmm/sample/test/CoroutineTestRule.kt rename to sample/android/src/test/java/co/nimblehq/kmm/template/test/CoroutineTestRule.kt index 97486ca1..967ea2d4 100644 --- a/sample/android/src/test/java/co/nimblehq/kmm/sample/test/CoroutineTestRule.kt +++ b/sample/android/src/test/java/co/nimblehq/kmm/template/test/CoroutineTestRule.kt @@ -1,6 +1,6 @@ -package co.nimblehq.kmm.sample.test +package co.nimblehq.kmm.template.test -import co.nimblehq.kmm.sample.util.DispatchersProvider +import co.nimblehq.kmm.template.util.DispatchersProvider import kotlinx.coroutines.* import kotlinx.coroutines.test.* import org.junit.rules.TestWatcher diff --git a/sample/android/src/test/java/co/nimblehq/kmm/sample/test/MockUtil.kt b/sample/android/src/test/java/co/nimblehq/kmm/template/test/MockUtil.kt similarity index 57% rename from sample/android/src/test/java/co/nimblehq/kmm/sample/test/MockUtil.kt rename to sample/android/src/test/java/co/nimblehq/kmm/template/test/MockUtil.kt index 059fa6a1..2a7f881a 100644 --- a/sample/android/src/test/java/co/nimblehq/kmm/sample/test/MockUtil.kt +++ b/sample/android/src/test/java/co/nimblehq/kmm/template/test/MockUtil.kt @@ -1,6 +1,6 @@ -package co.nimblehq.kmm.sample.test +package co.nimblehq.kmm.template.test -import co.nimblehq.kmm.sample.domain.models.Model +import co.nimblehq.kmm.template.domain.models.Model object MockUtil { diff --git a/sample/android/src/test/java/co/nimblehq/kmm/sample/ui/screens/BaseScreenTest.kt b/sample/android/src/test/java/co/nimblehq/kmm/template/ui/screens/BaseScreenTest.kt similarity index 79% rename from sample/android/src/test/java/co/nimblehq/kmm/sample/ui/screens/BaseScreenTest.kt rename to sample/android/src/test/java/co/nimblehq/kmm/template/ui/screens/BaseScreenTest.kt index 2dd6d4a0..fb13263e 100644 --- a/sample/android/src/test/java/co/nimblehq/kmm/sample/ui/screens/BaseScreenTest.kt +++ b/sample/android/src/test/java/co/nimblehq/kmm/template/ui/screens/BaseScreenTest.kt @@ -1,6 +1,6 @@ -package co.nimblehq.kmm.sample.ui.screens +package co.nimblehq.kmm.template.ui.screens -import co.nimblehq.kmm.sample.test.CoroutineTestRule +import co.nimblehq.kmm.template.test.CoroutineTestRule import kotlinx.coroutines.test.StandardTestDispatcher abstract class BaseScreenTest { diff --git a/sample/android/src/test/java/co/nimblehq/kmm/sample/ui/screens/home/HomeScreenTest.kt b/sample/android/src/test/java/co/nimblehq/kmm/template/ui/screens/home/HomeScreenTest.kt similarity index 85% rename from sample/android/src/test/java/co/nimblehq/kmm/sample/ui/screens/home/HomeScreenTest.kt rename to sample/android/src/test/java/co/nimblehq/kmm/template/ui/screens/home/HomeScreenTest.kt index 4d87ea1b..06792876 100644 --- a/sample/android/src/test/java/co/nimblehq/kmm/sample/ui/screens/home/HomeScreenTest.kt +++ b/sample/android/src/test/java/co/nimblehq/kmm/template/ui/screens/home/HomeScreenTest.kt @@ -1,16 +1,16 @@ -package co.nimblehq.kmm.sample.ui.screens.home +package co.nimblehq.kmm.template.ui.screens.home import androidx.activity.compose.setContent import androidx.compose.ui.test.* import androidx.compose.ui.test.junit4.* import androidx.test.ext.junit.rules.ActivityScenarioRule -import co.nimblehq.kmm.sample.R -import co.nimblehq.kmm.sample.domain.usecases.UseCase -import co.nimblehq.kmm.sample.test.MockUtil -import co.nimblehq.kmm.sample.ui.AppDestination -import co.nimblehq.kmm.sample.ui.screens.BaseScreenTest -import co.nimblehq.kmm.sample.ui.screens.MainActivity -import co.nimblehq.kmm.sample.ui.theme.ComposeTheme +import co.nimblehq.kmm.template.R +import co.nimblehq.kmm.template.domain.usecases.UseCase +import co.nimblehq.kmm.template.test.MockUtil +import co.nimblehq.kmm.template.ui.AppDestination +import co.nimblehq.kmm.template.ui.screens.BaseScreenTest +import co.nimblehq.kmm.template.ui.screens.MainActivity +import co.nimblehq.kmm.template.ui.theme.ComposeTheme import io.kotest.matchers.shouldBe import io.mockk.every import io.mockk.mockk diff --git a/sample/android/src/test/java/co/nimblehq/kmm/sample/ui/screens/home/HomeViewModelTest.kt b/sample/android/src/test/java/co/nimblehq/kmm/template/ui/screens/home/HomeViewModelTest.kt similarity index 85% rename from sample/android/src/test/java/co/nimblehq/kmm/sample/ui/screens/home/HomeViewModelTest.kt rename to sample/android/src/test/java/co/nimblehq/kmm/template/ui/screens/home/HomeViewModelTest.kt index 0dcac796..730ffce4 100644 --- a/sample/android/src/test/java/co/nimblehq/kmm/sample/ui/screens/home/HomeViewModelTest.kt +++ b/sample/android/src/test/java/co/nimblehq/kmm/template/ui/screens/home/HomeViewModelTest.kt @@ -1,11 +1,11 @@ -package co.nimblehq.kmm.sample.ui.screens.home +package co.nimblehq.kmm.template.ui.screens.home import app.cash.turbine.test -import co.nimblehq.kmm.sample.domain.usecases.UseCase -import co.nimblehq.kmm.sample.test.CoroutineTestRule -import co.nimblehq.kmm.sample.test.MockUtil -import co.nimblehq.kmm.sample.ui.models.toUiModel -import co.nimblehq.kmm.sample.util.DispatchersProvider +import co.nimblehq.kmm.template.domain.usecases.UseCase +import co.nimblehq.kmm.template.test.CoroutineTestRule +import co.nimblehq.kmm.template.test.MockUtil +import co.nimblehq.kmm.template.ui.models.toUiModel +import co.nimblehq.kmm.template.util.DispatchersProvider import io.kotest.matchers.shouldBe import io.mockk.every import io.mockk.mockk diff --git a/sample/ios/fastlane/Constants/Constant.swift b/sample/ios/fastlane/Constants/Constant.swift index 208268cb..77d4b607 100644 --- a/sample/ios/fastlane/Constants/Constant.swift +++ b/sample/ios/fastlane/Constants/Constant.swift @@ -53,8 +53,8 @@ enum Constant { // MARK: - Project - static let stagingBundleId = "co.nimblehq.kmm.sample.staging" - static let productionBundleId = "co.nimblehq.kmm.sample" + static let stagingBundleId = "co.nimblehq.kmm.template.staging" + static let productionBundleId = "co.nimblehq.kmm.template" static let projectName = "sample" // MARK: - Symbol diff --git a/sample/ios/sample.xcodeproj/project.pbxproj b/sample/ios/sample.xcodeproj/project.pbxproj index 20028ee5..99b7df16 100644 --- a/sample/ios/sample.xcodeproj/project.pbxproj +++ b/sample/ios/sample.xcodeproj/project.pbxproj @@ -9,13 +9,12 @@ /* Begin PBXBuildFile section */ 0B975608DEB5FC5F00024E82 /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = EFE5D281FD0FFFF44FC92B04 /* .gitkeep */; }; 0FCD70BBC15623E2843E571B /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = E4C58806C2B28AED0873F8AF /* .gitkeep */; }; + 1105753494BC19A614E77D2C /* Pods_sample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4F2C92F7F4309B54F2556136 /* Pods_sample.framework */; }; 18B4C2A55909888C5D0EDFDA /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6432B427D5097BCF75C4B15E /* AppDelegate.swift */; }; 1F3B8CA45E426F2E4BA8A41C /* R.generated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EEB8F8EE4393D2D9AC51316 /* R.generated.swift */; }; 20FF012BAC088FFC92962E28 /* UIView+Subviews.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDBCDCBA1D855D7023A0342F /* UIView+Subviews.swift */; }; - 2748D4F37A48EC4EDBBCD23A /* Pods_sampleTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 43D8B5B6F1588EF241133014 /* Pods_sampleTests.framework */; }; 33209CEB34C04BC32D0FFDD4 /* UseCaseFactoryProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CA52B4C8C3AF1CB2181C14D /* UseCaseFactoryProtocol.swift */; }; 3559AC5988194A4701902F80 /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = 302BB730B8D0BF901FF489B6 /* .gitkeep */; }; - 4EEFE94BD31CE49EABB4A163 /* Pods_sample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9754905710A64088A021F2F4 /* Pods_sample.framework */; }; 53157A77A8B802D108AE9D73 /* Typealiases.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5B819017A28FE15B242BB5B /* Typealiases.swift */; }; 66C817ACCA7CE15ABF58BC06 /* HomeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBD1568B768046A18E011F2C /* HomeViewController.swift */; }; 701258D40CE69EC8168A3D12 /* AutoMockable.generated.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBF1B234787FCD92142B105D /* AutoMockable.generated.swift */; }; @@ -30,7 +29,8 @@ CA324314BE7318252E4D5D62 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 6952456309E29C9609D23B3F /* LaunchScreen.storyboard */; }; D609A7DCE8B3E7A49CFACC2E /* Navigator+Transition.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9816C413C0D0DD7B01BA9CE /* Navigator+Transition.swift */; }; DE665FDD6164065A881A2F44 /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = 67C0EA707F4FBB459FEBA640 /* .gitkeep */; }; - ED8ED5B147CBCCE402FBF994 /* Pods_sample_sampleKIFUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D146E58594E3E197B73C4F4 /* Pods_sample_sampleKIFUITests.framework */; }; + E0AB1F9A7AE38BBF7798554B /* Pods_sample_sampleKIFUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 09CA75EC7B8B940DF614F311 /* Pods_sample_sampleKIFUITests.framework */; }; + E7531F638690FE5E3BC2F5F3 /* Pods_sampleTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C5460549DB5C90F3C843F24A /* Pods_sampleTests.framework */; }; F444409E14F8ED6BF6A2666A /* KIF+Swift.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFAE58D40BFE459B1184D994 /* KIF+Swift.swift */; }; F858855AD6392D182B853A79 /* Optional+Unwrap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 562EF605C844B951CD47F38D /* Optional+Unwrap.swift */; }; /* End PBXBuildFile section */ @@ -88,45 +88,45 @@ /* Begin PBXFileReference section */ 04B8796D7472561BF8EB10A1 /* DebugProduction.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = DebugProduction.xcconfig; sourceTree = ""; }; 05F57F86A37A0E0B6CC54CB4 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; - 067FD676486C484C5DF3D1F2 /* Pods-sample.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release staging.xcconfig"; sourceTree = ""; }; + 09CA75EC7B8B940DF614F311 /* Pods_sample_sampleKIFUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample_sampleKIFUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 18C176717B282B7A8842FC73 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; - 1D146E58594E3E197B73C4F4 /* Pods_sample_sampleKIFUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample_sampleKIFUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 1917A23D2FD469BDAC51C5B6 /* Pods-sample.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug production.xcconfig"; sourceTree = ""; }; 1EEB8F8EE4393D2D9AC51316 /* R.generated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = R.generated.swift; sourceTree = ""; }; + 1F2557D4DF68C4A1A5961F9E /* Pods-sampleTests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug production.xcconfig"; sourceTree = ""; }; 222B1BD9F71FF1797F160231 /* Constants+API.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Constants+API.swift"; sourceTree = ""; }; - 27910D849D99DA801298AE36 /* Pods-sampleTests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug staging.xcconfig"; sourceTree = ""; }; + 2B0F630F6983094A831A6FB6 /* Pods-sample.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release production.xcconfig"; sourceTree = ""; }; 302BB730B8D0BF901FF489B6 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; 41210B648761A8DC4ABD3BB9 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; 414B86B12605C252A692EA37 /* sampleKIFUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = sampleKIFUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 43D8B5B6F1588EF241133014 /* Pods_sampleTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sampleTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 46E504EAA481E293B9386FA0 /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug staging.xcconfig"; sourceTree = ""; }; + 4BBD1A31AA1FC3C33E9DCD53 /* Pods-sampleTests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug staging.xcconfig"; sourceTree = ""; }; + 4F2C92F7F4309B54F2556136 /* Pods_sample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 562EF605C844B951CD47F38D /* Optional+Unwrap.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Optional+Unwrap.swift"; sourceTree = ""; }; - 628B10B512A9E51E03B7F39E /* Pods-sample-sampleKIFUITests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release staging.xcconfig"; sourceTree = ""; }; + 60A07325CCFB648E8F0A7E91 /* Pods-sample.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release staging.xcconfig"; sourceTree = ""; }; + 60EFDEF75CD0B2878C5C9485 /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug staging.xcconfig"; sourceTree = ""; }; + 6182C925B56EB8C827C7811B /* Pods-sampleTests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release staging.xcconfig"; sourceTree = ""; }; 6432B427D5097BCF75C4B15E /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 67C0EA707F4FBB459FEBA640 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; 6952456309E29C9609D23B3F /* LaunchScreen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = ""; }; - 6A0BE3661B420AA002BB186B /* Pods-sample.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug production.xcconfig"; sourceTree = ""; }; - 6E6D35BCECF83A530172FABD /* Pods-sampleTests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release production.xcconfig"; sourceTree = ""; }; - 80F77ED65ED74B80EFCE40F2 /* Pods-sample.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release production.xcconfig"; sourceTree = ""; }; + 7BC1D34F4A38FBD6823E9979 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release staging.xcconfig"; sourceTree = ""; }; + 8101EA89314722F4997E28D3 /* Pods-sampleTests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release production.xcconfig"; sourceTree = ""; }; 82F5C2293A2DB24CDCA81957 /* Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = ""; }; 8CA52B4C8C3AF1CB2181C14D /* UseCaseFactoryProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UseCaseFactoryProtocol.swift; sourceTree = ""; }; - 9754905710A64088A021F2F4 /* Pods_sample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; A29F97F67192DE9B66E872E6 /* Color+Application.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Color+Application.swift"; sourceTree = ""; }; A64B0E7B034D526205048030 /* Navigator+Scene.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Navigator+Scene.swift"; sourceTree = ""; }; - A7C45427C98A0A567BB4B566 /* Pods-sampleTests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release staging.xcconfig"; sourceTree = ""; }; - ACFD48EA5FF4601F13DEF25C /* Pods-sample-sampleKIFUITests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug production.xcconfig"; sourceTree = ""; }; ADE63A1C257C06E1D05C8136 /* DebugStaging.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = DebugStaging.xcconfig; sourceTree = ""; }; B8847183C3FF3D70FE4192CD /* sampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = sampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; BBD1568B768046A18E011F2C /* HomeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeViewController.swift; sourceTree = ""; }; BBF1B234787FCD92142B105D /* AutoMockable.generated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutoMockable.generated.swift; sourceTree = ""; }; BD9D9C9A495C5EA0AE9039C6 /* ReleaseProduction.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = ReleaseProduction.xcconfig; sourceTree = ""; }; C159B27C88C08E8AEB22AFD4 /* Navigator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Navigator.swift; sourceTree = ""; }; - C17642A3BB36D9AA2586B83D /* Pods-sample.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug staging.xcconfig"; sourceTree = ""; }; - C8BEE08F8306F76C050225DD /* Pods-sample-sampleKIFUITests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release production.xcconfig"; sourceTree = ""; }; + C330A067B833607B64259B3D /* Pods-sample-sampleKIFUITests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release production.xcconfig"; sourceTree = ""; }; + C5460549DB5C90F3C843F24A /* Pods_sampleTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sampleTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + C9C83BCD8D2743C8A9D9793C /* Pods-sample-sampleKIFUITests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug production.xcconfig"; sourceTree = ""; }; CD3A7C3AC94E15DEC4F12A85 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; CDBCDCBA1D855D7023A0342F /* UIView+Subviews.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIView+Subviews.swift"; sourceTree = ""; }; D2D7345A2017D2D372785123 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; D2F657F289C5314152FFCFA2 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - D61D3BEB6F168C7F5D35B964 /* Pods-sampleTests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug production.xcconfig"; sourceTree = ""; }; + D9D14F40D6D0E53BDBA6BE28 /* Pods-sample.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug staging.xcconfig"; sourceTree = ""; }; E4C58806C2B28AED0873F8AF /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; EFAE58D40BFE459B1184D994 /* KIF+Swift.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "KIF+Swift.swift"; sourceTree = ""; }; EFE5D281FD0FFFF44FC92B04 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; @@ -141,7 +141,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - ED8ED5B147CBCCE402FBF994 /* Pods_sample_sampleKIFUITests.framework in Frameworks */, + E0AB1F9A7AE38BBF7798554B /* Pods_sample_sampleKIFUITests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -149,7 +149,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 2748D4F37A48EC4EDBBCD23A /* Pods_sampleTests.framework in Frameworks */, + E7531F638690FE5E3BC2F5F3 /* Pods_sampleTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -157,7 +157,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 4EEFE94BD31CE49EABB4A163 /* Pods_sample.framework in Frameworks */, + 1105753494BC19A614E77D2C /* Pods_sample.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -174,26 +174,6 @@ path = sampleTests; sourceTree = ""; }; - 0798DC8D985B03CC773331B0 /* Pods */ = { - isa = PBXGroup; - children = ( - 6A0BE3661B420AA002BB186B /* Pods-sample.debug production.xcconfig */, - C17642A3BB36D9AA2586B83D /* Pods-sample.debug staging.xcconfig */, - 80F77ED65ED74B80EFCE40F2 /* Pods-sample.release production.xcconfig */, - 067FD676486C484C5DF3D1F2 /* Pods-sample.release staging.xcconfig */, - ACFD48EA5FF4601F13DEF25C /* Pods-sample-sampleKIFUITests.debug production.xcconfig */, - 46E504EAA481E293B9386FA0 /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */, - C8BEE08F8306F76C050225DD /* Pods-sample-sampleKIFUITests.release production.xcconfig */, - 628B10B512A9E51E03B7F39E /* Pods-sample-sampleKIFUITests.release staging.xcconfig */, - D61D3BEB6F168C7F5D35B964 /* Pods-sampleTests.debug production.xcconfig */, - 27910D849D99DA801298AE36 /* Pods-sampleTests.debug staging.xcconfig */, - 6E6D35BCECF83A530172FABD /* Pods-sampleTests.release production.xcconfig */, - A7C45427C98A0A567BB4B566 /* Pods-sampleTests.release staging.xcconfig */, - ); - name = Pods; - path = Pods; - sourceTree = ""; - }; 0ADEB457EA4FA311E2D99985 /* Configurations */ = { isa = PBXGroup; children = ( @@ -281,9 +261,9 @@ 52B072A663159D9D007D540F /* Frameworks */ = { isa = PBXGroup; children = ( - 9754905710A64088A021F2F4 /* Pods_sample.framework */, - 1D146E58594E3E197B73C4F4 /* Pods_sample_sampleKIFUITests.framework */, - 43D8B5B6F1588EF241133014 /* Pods_sampleTests.framework */, + 4F2C92F7F4309B54F2556136 /* Pods_sample.framework */, + 09CA75EC7B8B940DF614F311 /* Pods_sample_sampleKIFUITests.framework */, + C5460549DB5C90F3C843F24A /* Pods_sampleTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -318,7 +298,7 @@ 9B7CF20BE2915B62911C62AA /* Project */, 52B072A663159D9D007D540F /* Frameworks */, 372816F20EC291B850EECF1F /* Products */, - 0798DC8D985B03CC773331B0 /* Pods */, + E4F8AD260838ADF61BD921A9 /* Pods */, ); sourceTree = ""; }; @@ -520,6 +500,26 @@ path = sample; sourceTree = ""; }; + E4F8AD260838ADF61BD921A9 /* Pods */ = { + isa = PBXGroup; + children = ( + 1917A23D2FD469BDAC51C5B6 /* Pods-sample.debug production.xcconfig */, + D9D14F40D6D0E53BDBA6BE28 /* Pods-sample.debug staging.xcconfig */, + 2B0F630F6983094A831A6FB6 /* Pods-sample.release production.xcconfig */, + 60A07325CCFB648E8F0A7E91 /* Pods-sample.release staging.xcconfig */, + C9C83BCD8D2743C8A9D9793C /* Pods-sample-sampleKIFUITests.debug production.xcconfig */, + 60EFDEF75CD0B2878C5C9485 /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */, + C330A067B833607B64259B3D /* Pods-sample-sampleKIFUITests.release production.xcconfig */, + 7BC1D34F4A38FBD6823E9979 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */, + 1F2557D4DF68C4A1A5961F9E /* Pods-sampleTests.debug production.xcconfig */, + 4BBD1A31AA1FC3C33E9DCD53 /* Pods-sampleTests.debug staging.xcconfig */, + 8101EA89314722F4997E28D3 /* Pods-sampleTests.release production.xcconfig */, + 6182C925B56EB8C827C7811B /* Pods-sampleTests.release staging.xcconfig */, + ); + name = Pods; + path = Pods; + sourceTree = ""; + }; E675224256C4174F5D808C42 /* Helpers */ = { isa = PBXGroup; children = ( @@ -570,7 +570,7 @@ isa = PBXNativeTarget; buildConfigurationList = 56FE2126489C1E87A2D918A3 /* Build configuration list for PBXNativeTarget "sample" */; buildPhases = ( - 425D9A636A56CADC2C29DDD4 /* [CP] Check Pods Manifest.lock */, + 5961EC97E5AFB081789318B7 /* [CP] Check Pods Manifest.lock */, B2B621CC2B1F4F58601CD98D /* Sourcery */, 7EB246CFC1E0CCBA652DC37E /* R.swift */, CF26733D03C8D33F8823EE1F /* SwiftLint */, @@ -580,7 +580,7 @@ 494614C33B509301DBBDAD42 /* Embed Frameworks */, 89C77BA3C707AD804F79284B /* Frameworks */, 843C67A8A78058B8D8B3D11E /* Copy GoogleService-Info.plist */, - 128747FBC306AA294023A422 /* [CP] Embed Pods Frameworks */, + 92A10C0BD9BE1ED3DAE41A62 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -595,12 +595,12 @@ isa = PBXNativeTarget; buildConfigurationList = 31E84C030BDB7A39BCE38D8C /* Build configuration list for PBXNativeTarget "sampleKIFUITests" */; buildPhases = ( - 4051E2C19C29256F45FA0F54 /* [CP] Check Pods Manifest.lock */, + AD28E4602AFD628012826370 /* [CP] Check Pods Manifest.lock */, 21ADDF0B071B770FFB6A086A /* Sources */, 43218B877C978B4CA5B93235 /* Resources */, 392BFB718CBF57CF0D23848E /* Embed Frameworks */, 29CEF4F9FF315D4254B8BC69 /* Frameworks */, - FA503E5BFB311DF14DC28D04 /* [CP] Embed Pods Frameworks */, + 28219F746D2615058FA30CA0 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -616,13 +616,13 @@ isa = PBXNativeTarget; buildConfigurationList = C3875EBB5A0F6612B3515A13 /* Build configuration list for PBXNativeTarget "sampleTests" */; buildPhases = ( - DC4BD794C12719EA5F1991EC /* [CP] Check Pods Manifest.lock */, + 2F4671ED7300C3D4677215F0 /* [CP] Check Pods Manifest.lock */, 2F7B6AB35D89AA83D514ECC2 /* SwiftFormat */, 9344943859735CAEA8DDB048 /* Sources */, E472A2AC48FE9588146AB254 /* Resources */, 51D3263E7013F91DCDB0D884 /* Embed Frameworks */, 7A7AFF7C6576A774E896CA81 /* Frameworks */, - EF43849C3F08E9A29D62B065 /* [CP] Embed Pods Frameworks */, + 7EAB9F6AA539DBFC4C001AE0 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -703,24 +703,24 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 128747FBC306AA294023A422 /* [CP] Embed Pods Frameworks */ = { + 28219F746D2615058FA30CA0 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks-${CONFIGURATION}-input-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks-${CONFIGURATION}-output-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 2F7B6AB35D89AA83D514ECC2 /* SwiftFormat */ = { + 2F4671ED7300C3D4677215F0 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -728,17 +728,21 @@ inputFileListPaths = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); - name = SwiftFormat; + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( ); outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-sampleTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "if [ -z \"$CI\" ]; then\n \"${PODS_ROOT}/SwiftFormat/CommandLineTool/swiftformat\" \"$SRCROOT\"\nfi"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - 4051E2C19C29256F45FA0F54 /* [CP] Check Pods Manifest.lock */ = { + 2F7B6AB35D89AA83D514ECC2 /* SwiftFormat */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -746,21 +750,17 @@ inputFileListPaths = ( ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", ); - name = "[CP] Check Pods Manifest.lock"; + name = SwiftFormat; outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-sample-sampleKIFUITests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "if [ -z \"$CI\" ]; then\n \"${PODS_ROOT}/SwiftFormat/CommandLineTool/swiftformat\" \"$SRCROOT\"\nfi"; }; - 425D9A636A56CADC2C29DDD4 /* [CP] Check Pods Manifest.lock */ = { + 5961EC97E5AFB081789318B7 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -782,28 +782,26 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 7EB246CFC1E0CCBA652DC37E /* R.swift */ = { + 7EAB9F6AA539DBFC4C001AE0 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - ); - name = R.swift; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - ); - outputPaths = ( - "$SRCROOT/$PROJECT_NAME/Sources/Supports/Helpers/Rswift/R.generated.swift", + "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"$PODS_ROOT/R.swift/rswift\" generate \"$SRCROOT/$PROJECT_NAME/Sources/Supports/Helpers/Rswift/R.generated.swift\""; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks.sh\"\n"; + showEnvVarsInLog = 0; }; - 843C67A8A78058B8D8B3D11E /* Copy GoogleService-Info.plist */ = { + 7EB246CFC1E0CCBA652DC37E /* R.swift */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); @@ -811,16 +809,17 @@ ); inputPaths = ( ); - name = "Copy GoogleService-Info.plist"; + name = R.swift; outputFileListPaths = ( ); outputPaths = ( + "$SRCROOT/$PROJECT_NAME/Sources/Supports/Helpers/Rswift/R.generated.swift", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "PATH_TO_GOOGLE_PLISTS=\"$SRCROOT/$PROJECT_NAME/Configurations/Plists/GoogleService\"\n\ncase \"${CONFIGURATION}\" in\n\"Debug Staging\" | \"Release Staging\" )\ncp -r \"$PATH_TO_GOOGLE_PLISTS/Staging/GoogleService-Info.plist\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist\"\n;;\n\"Debug Production\" | \"Release Production\" )\ncp -r \"$PATH_TO_GOOGLE_PLISTS/Production/GoogleService-Info.plist\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist\"\n;;\n*)\n;;\nesac"; + shellScript = "\"$PODS_ROOT/R.swift/rswift\" generate \"$SRCROOT/$PROJECT_NAME/Sources/Supports/Helpers/Rswift/R.generated.swift\""; }; - B2B621CC2B1F4F58601CD98D /* Sourcery */ = { + 843C67A8A78058B8D8B3D11E /* Copy GoogleService-Info.plist */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -829,34 +828,33 @@ ); inputPaths = ( ); - name = Sourcery; + name = "Copy GoogleService-Info.plist"; outputFileListPaths = ( ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"$PODS_ROOT/Sourcery/bin/sourcery\""; + shellScript = "PATH_TO_GOOGLE_PLISTS=\"$SRCROOT/$PROJECT_NAME/Configurations/Plists/GoogleService\"\n\ncase \"${CONFIGURATION}\" in\n\"Debug Staging\" | \"Release Staging\" )\ncp -r \"$PATH_TO_GOOGLE_PLISTS/Staging/GoogleService-Info.plist\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist\"\n;;\n\"Debug Production\" | \"Release Production\" )\ncp -r \"$PATH_TO_GOOGLE_PLISTS/Production/GoogleService-Info.plist\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist\"\n;;\n*)\n;;\nesac"; }; - CF26733D03C8D33F8823EE1F /* SwiftLint */ = { + 92A10C0BD9BE1ED3DAE41A62 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - ); - name = SwiftLint; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - ); - outputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "if [ -z \"$CI\" ]; then\n ${PODS_ROOT}/SwiftLint/swiftlint\nfi"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks.sh\"\n"; + showEnvVarsInLog = 0; }; - DC4BD794C12719EA5F1991EC /* [CP] Check Pods Manifest.lock */ = { + AD28E4602AFD628012826370 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -871,14 +869,14 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-sampleTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-sample-sampleKIFUITests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - EF3878B82E1CD4611A640906 /* SwiftFormat Lint */ = { + B2B621CC2B1F4F58601CD98D /* Sourcery */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -887,48 +885,50 @@ ); inputPaths = ( ); - name = "SwiftFormat Lint"; + name = Sourcery; outputFileListPaths = ( ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "if [ -z \"$CI\" ]; then\n \"${PODS_ROOT}/SwiftFormat/CommandLineTool/swiftformat\" \"$SRCROOT\" --lint --lenient\nfi"; + shellScript = "\"$PODS_ROOT/Sourcery/bin/sourcery\""; }; - EF43849C3F08E9A29D62B065 /* [CP] Embed Pods Frameworks */ = { + CF26733D03C8D33F8823EE1F /* SwiftLint */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + ); + name = SwiftLint; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks.sh\"\n"; - showEnvVarsInLog = 0; + shellScript = "if [ -z \"$CI\" ]; then\n ${PODS_ROOT}/SwiftLint/swiftlint\nfi"; }; - FA503E5BFB311DF14DC28D04 /* [CP] Embed Pods Frameworks */ = { + EF3878B82E1CD4611A640906 /* SwiftFormat Lint */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + ); + name = "SwiftFormat Lint"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks.sh\"\n"; - showEnvVarsInLog = 0; + shellScript = "if [ -z \"$CI\" ]; then\n \"${PODS_ROOT}/SwiftFormat/CommandLineTool/swiftformat\" \"$SRCROOT\" --lint --lenient\nfi"; }; /* End PBXShellScriptBuildPhase section */ @@ -989,7 +989,7 @@ /* Begin XCBuildConfiguration section */ 21ACBFF0B81C5FE1926420D2 /* Debug Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = ACFD48EA5FF4601F13DEF25C /* Pods-sample-sampleKIFUITests.debug production.xcconfig */; + baseConfigurationReference = C9C83BCD8D2743C8A9D9793C /* Pods-sample-sampleKIFUITests.debug production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1014,7 +1014,7 @@ }; 252EA76B363BC50D825D8BD6 /* Debug Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 27910D849D99DA801298AE36 /* Pods-sampleTests.debug staging.xcconfig */; + baseConfigurationReference = 4BBD1A31AA1FC3C33E9DCD53 /* Pods-sampleTests.debug staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1039,7 +1039,7 @@ }; 388E6BE620787A06CA1CA7EE /* Release Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 067FD676486C484C5DF3D1F2 /* Pods-sample.release staging.xcconfig */; + baseConfigurationReference = 60A07325CCFB648E8F0A7E91 /* Pods-sample.release staging.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1063,7 +1063,7 @@ }; 38F81F703A83D6A307430059 /* Release Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C8BEE08F8306F76C050225DD /* Pods-sample-sampleKIFUITests.release production.xcconfig */; + baseConfigurationReference = C330A067B833607B64259B3D /* Pods-sample-sampleKIFUITests.release production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1087,7 +1087,7 @@ }; 3BEDFE87FC2F0AE206422087 /* Release Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6E6D35BCECF83A530172FABD /* Pods-sampleTests.release production.xcconfig */; + baseConfigurationReference = 8101EA89314722F4997E28D3 /* Pods-sampleTests.release production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1111,7 +1111,7 @@ }; 3E22885F8CD58F60301062E2 /* Release Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 628B10B512A9E51E03B7F39E /* Pods-sample-sampleKIFUITests.release staging.xcconfig */; + baseConfigurationReference = 7BC1D34F4A38FBD6823E9979 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1135,7 +1135,7 @@ }; 4C1D6824327C0FD7CA0FD5EA /* Release Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 80F77ED65ED74B80EFCE40F2 /* Pods-sample.release production.xcconfig */; + baseConfigurationReference = 2B0F630F6983094A831A6FB6 /* Pods-sample.release production.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1218,7 +1218,7 @@ }; 65EFF1C45B23F50B02803EAD /* Debug Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C17642A3BB36D9AA2586B83D /* Pods-sample.debug staging.xcconfig */; + baseConfigurationReference = D9D14F40D6D0E53BDBA6BE28 /* Pods-sample.debug staging.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1243,7 +1243,7 @@ }; 944F5AFF63FDFD18DB25D45F /* Debug Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6A0BE3661B420AA002BB186B /* Pods-sample.debug production.xcconfig */; + baseConfigurationReference = 1917A23D2FD469BDAC51C5B6 /* Pods-sample.debug production.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1268,7 +1268,7 @@ }; A6CE62F8A695FBBC221E4690 /* Debug Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D61D3BEB6F168C7F5D35B964 /* Pods-sampleTests.debug production.xcconfig */; + baseConfigurationReference = 1F2557D4DF68C4A1A5961F9E /* Pods-sampleTests.debug production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1293,7 +1293,7 @@ }; B7E6733E7030283A3E74681B /* Debug Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 46E504EAA481E293B9386FA0 /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */; + baseConfigurationReference = 60EFDEF75CD0B2878C5C9485 /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1371,7 +1371,7 @@ }; BD91BBB9D406D96A13EB8291 /* Release Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A7C45427C98A0A567BB4B566 /* Pods-sampleTests.release staging.xcconfig */; + baseConfigurationReference = 6182C925B56EB8C827C7811B /* Pods-sampleTests.release staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; diff --git a/sample/ios/sample/Configurations/XCConfigs/DebugProduction.xcconfig b/sample/ios/sample/Configurations/XCConfigs/DebugProduction.xcconfig index d65506a6..9eaab57c 100644 --- a/sample/ios/sample/Configurations/XCConfigs/DebugProduction.xcconfig +++ b/sample/ios/sample/Configurations/XCConfigs/DebugProduction.xcconfig @@ -8,6 +8,6 @@ SWIFT_OPTIMIZATION_LEVEL = -Onone GCC_PREPROCESSOR_DEFINITIONS = $(inherited) DEBUG=1 PRODUCTION=1 PRODUCT_NAME = $(TARGET_NAME) -PRODUCT_BUNDLE_IDENTIFIER = co.nimblehq.kmm.sample +PRODUCT_BUNDLE_IDENTIFIER = co.nimblehq.kmm.template SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG PRODUCTION OTHER_SWIFT_FLAGS = $(inherited) -Xfrontend -warn-long-expression-type-checking=300 -Xfrontend -warn-long-function-bodies=300 diff --git a/sample/ios/sample/Configurations/XCConfigs/DebugStaging.xcconfig b/sample/ios/sample/Configurations/XCConfigs/DebugStaging.xcconfig index 84b1619b..a2c1330b 100644 --- a/sample/ios/sample/Configurations/XCConfigs/DebugStaging.xcconfig +++ b/sample/ios/sample/Configurations/XCConfigs/DebugStaging.xcconfig @@ -8,6 +8,6 @@ SWIFT_OPTIMIZATION_LEVEL = -Onone GCC_PREPROCESSOR_DEFINITIONS = $(inherited) DEBUG=1 STAGING=1 PRODUCT_NAME = $(TARGET_NAME) Staging -PRODUCT_BUNDLE_IDENTIFIER = co.nimblehq.kmm.sample.staging +PRODUCT_BUNDLE_IDENTIFIER = co.nimblehq.kmm.template.staging SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG STAGING OTHER_SWIFT_FLAGS = $(inherited) -Xfrontend -warn-long-expression-type-checking=300 -Xfrontend -warn-long-function-bodies=300 diff --git a/sample/ios/sample/Configurations/XCConfigs/ReleaseProduction.xcconfig b/sample/ios/sample/Configurations/XCConfigs/ReleaseProduction.xcconfig index 200bac37..c7d0e2bc 100644 --- a/sample/ios/sample/Configurations/XCConfigs/ReleaseProduction.xcconfig +++ b/sample/ios/sample/Configurations/XCConfigs/ReleaseProduction.xcconfig @@ -7,5 +7,5 @@ ENABLE_BITCODE = NO GCC_PREPROCESSOR_DEFINITIONS = $(inherited) PRODUCTION=1 PRODUCT_NAME = $(TARGET_NAME) -PRODUCT_BUNDLE_IDENTIFIER = co.nimblehq.kmm.sample +PRODUCT_BUNDLE_IDENTIFIER = co.nimblehq.kmm.template SWIFT_ACTIVE_COMPILATION_CONDITIONS = PRODUCTION RELEASE diff --git a/sample/ios/sample/Configurations/XCConfigs/ReleaseStaging.xcconfig b/sample/ios/sample/Configurations/XCConfigs/ReleaseStaging.xcconfig index f4dafddd..7eea63ce 100644 --- a/sample/ios/sample/Configurations/XCConfigs/ReleaseStaging.xcconfig +++ b/sample/ios/sample/Configurations/XCConfigs/ReleaseStaging.xcconfig @@ -8,5 +8,5 @@ ENABLE_BITCODE = NO ENABLE_BITCODE = NO GCC_PREPROCESSOR_DEFINITIONS = $(inherited) STAGING=1 PRODUCT_NAME = $(TARGET_NAME) Staging -PRODUCT_BUNDLE_IDENTIFIER = co.nimblehq.kmm.sample.staging +PRODUCT_BUNDLE_IDENTIFIER = co.nimblehq.kmm.template.staging SWIFT_ACTIVE_COMPILATION_CONDITIONS = STAGING RELEASE diff --git a/sample/shared/build.gradle.kts b/sample/shared/build.gradle.kts index 6514794c..b9cca8ba 100644 --- a/sample/shared/build.gradle.kts +++ b/sample/shared/build.gradle.kts @@ -113,7 +113,7 @@ ksp { } android { - namespace = "co.nimblehq.kmm.sample" + namespace = "co.nimblehq.kmm.template" compileSdk = Versions.ANDROID_COMPILE_SDK defaultConfig { minSdk = Versions.ANDROID_MIN_SDK @@ -126,7 +126,7 @@ android { val buildKonfigProperties = loadProperties("$rootDir/buildKonfig.properties") buildkonfig { - packageName = "co.nimblehq.kmm.sample" + packageName = "co.nimblehq.kmm.template" // Default for Flavors.STAGING defaultConfigs { diff --git a/sample/shared/src/androidMain/kotlin/co/nimblehq/kmm/sample/Platform.android.kt b/sample/shared/src/androidMain/kotlin/co/nimblehq/kmm/template/Platform.android.kt similarity index 83% rename from sample/shared/src/androidMain/kotlin/co/nimblehq/kmm/sample/Platform.android.kt rename to sample/shared/src/androidMain/kotlin/co/nimblehq/kmm/template/Platform.android.kt index e88904ba..51a2ff66 100644 --- a/sample/shared/src/androidMain/kotlin/co/nimblehq/kmm/sample/Platform.android.kt +++ b/sample/shared/src/androidMain/kotlin/co/nimblehq/kmm/template/Platform.android.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.sample +package co.nimblehq.kmm.template class AndroidPlatform : Platform { override val name: String = "Android ${android.os.Build.VERSION.SDK_INT}" diff --git a/sample/shared/src/androidMain/kotlin/co/nimblehq/kmm/sample/di/modules/PlatformModule.kt b/sample/shared/src/androidMain/kotlin/co/nimblehq/kmm/template/di/modules/PlatformModule.kt similarity index 81% rename from sample/shared/src/androidMain/kotlin/co/nimblehq/kmm/sample/di/modules/PlatformModule.kt rename to sample/shared/src/androidMain/kotlin/co/nimblehq/kmm/template/di/modules/PlatformModule.kt index 70cace31..78fdf537 100644 --- a/sample/shared/src/androidMain/kotlin/co/nimblehq/kmm/sample/di/modules/PlatformModule.kt +++ b/sample/shared/src/androidMain/kotlin/co/nimblehq/kmm/template/di/modules/PlatformModule.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.sample.di.modules +package co.nimblehq.kmm.template.di.modules import io.ktor.client.engine.android.Android import org.koin.core.module.Module diff --git a/sample/shared/src/androidUnitTest/kotlin/co/nimblehq/kmm/sample/androidTest.kt b/sample/shared/src/androidUnitTest/kotlin/co/nimblehq/kmm/template/androidTest.kt similarity index 86% rename from sample/shared/src/androidUnitTest/kotlin/co/nimblehq/kmm/sample/androidTest.kt rename to sample/shared/src/androidUnitTest/kotlin/co/nimblehq/kmm/template/androidTest.kt index d3a01c75..900b0bb6 100644 --- a/sample/shared/src/androidUnitTest/kotlin/co/nimblehq/kmm/sample/androidTest.kt +++ b/sample/shared/src/androidUnitTest/kotlin/co/nimblehq/kmm/template/androidTest.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.sample +package co.nimblehq.kmm.template import org.junit.Assert.assertTrue import org.junit.Test diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/repositories/RepositoryImpl.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/repositories/RepositoryImpl.kt deleted file mode 100644 index 4f1f38ec..00000000 --- a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/repositories/RepositoryImpl.kt +++ /dev/null @@ -1,16 +0,0 @@ -package co.nimblehq.kmm.sample.data.repositories - -import co.nimblehq.kmm.sample.data.extensions.flowTransform -import co.nimblehq.kmm.sample.data.remote.datasources.RemoteDataSource -import co.nimblehq.kmm.sample.data.remote.models.responses.toModel -import co.nimblehq.kmm.sample.domain.models.Model -import co.nimblehq.kmm.sample.domain.repositories.Repository -import kotlinx.coroutines.flow.Flow - -class RepositoryImpl( - private val remoteDataSource: RemoteDataSource -) : Repository { - override fun getUsers(): Flow> = flowTransform { - remoteDataSource.getUsers().map { it.toModel() } - } -} diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/di/modules/RemoteModule.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/di/modules/RemoteModule.kt deleted file mode 100644 index 073e2c0a..00000000 --- a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/di/modules/RemoteModule.kt +++ /dev/null @@ -1,13 +0,0 @@ -package co.nimblehq.kmm.sample.di.modules - -import co.nimblehq.kmm.sample.data.remote.datasources.RemoteDataSource -import org.koin.dsl.module -import co.nimblehq.kmm.sample.data.remote.ApiClient -import co.nimblehq.kmm.sample.data.remote.datasources.RemoteDataSourceImpl -import org.koin.core.module.dsl.singleOf -import org.koin.dsl.bind - -val remoteModule = module { - singleOf(::ApiClient) - singleOf(::RemoteDataSourceImpl) bind RemoteDataSource::class -} diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/domain/models/Model.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/domain/models/Model.kt deleted file mode 100644 index 9bb1acb9..00000000 --- a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/domain/models/Model.kt +++ /dev/null @@ -1,5 +0,0 @@ -package co.nimblehq.kmm.sample.domain.models - -data class Model( - val id: Int? -) diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/domain/repositories/Repository.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/domain/repositories/Repository.kt deleted file mode 100644 index 46c1e0bc..00000000 --- a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/domain/repositories/Repository.kt +++ /dev/null @@ -1,8 +0,0 @@ -package co.nimblehq.kmm.sample.domain.repositories - -import co.nimblehq.kmm.sample.domain.models.Model -import kotlinx.coroutines.flow.Flow - -interface Repository { - fun getUsers(): Flow> -} diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/Greeting.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/Greeting.kt similarity index 81% rename from sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/Greeting.kt rename to sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/Greeting.kt index 7ce8b67e..29c43a71 100644 --- a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/Greeting.kt +++ b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/Greeting.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.sample +package co.nimblehq.kmm.template class Greeting { private val platform: Platform = getPlatform() diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/Platform.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/Platform.kt similarity index 71% rename from sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/Platform.kt rename to sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/Platform.kt index 36d914c0..33753afa 100644 --- a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/Platform.kt +++ b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/Platform.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.sample +package co.nimblehq.kmm.template interface Platform { val name: String diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/extensions/HttpRequestBuilderExtension.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/extensions/HttpRequestBuilderExtension.kt similarity index 56% rename from sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/extensions/HttpRequestBuilderExtension.kt rename to sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/extensions/HttpRequestBuilderExtension.kt index 8b5acc42..dc7b89d4 100644 --- a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/extensions/HttpRequestBuilderExtension.kt +++ b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/extensions/HttpRequestBuilderExtension.kt @@ -1,6 +1,6 @@ -package co.nimblehq.kmm.sample.data.extensions +package co.nimblehq.kmm.template.data.extensions -import co.nimblehq.kmm.sample.BuildKonfig +import co.nimblehq.kmm.template.BuildKonfig import io.ktor.client.request.* fun HttpRequestBuilder.path(path: String) { diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/extensions/ResponseMapping.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/extensions/ResponseMapping.kt similarity index 90% rename from sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/extensions/ResponseMapping.kt rename to sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/extensions/ResponseMapping.kt index a9c2b7db..420f451a 100644 --- a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/extensions/ResponseMapping.kt +++ b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/extensions/ResponseMapping.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.sample.data.extensions +package co.nimblehq.kmm.template.data.extensions import kotlinx.coroutines.flow.* import kotlin.experimental.ExperimentalTypeInference diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/remote/ApiClient.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/remote/ApiClient.kt similarity index 95% rename from sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/remote/ApiClient.kt rename to sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/remote/ApiClient.kt index c42f94dc..1e27b929 100644 --- a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/remote/ApiClient.kt +++ b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/remote/ApiClient.kt @@ -1,6 +1,6 @@ -package co.nimblehq.kmm.sample.data.remote +package co.nimblehq.kmm.template.data.remote -import co.nimblehq.kmm.sample.data.extensions.path +import co.nimblehq.kmm.template.data.extensions.path import io.github.aakira.napier.DebugAntilog import io.github.aakira.napier.Napier import io.ktor.client.HttpClient diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/remote/datasources/RemoteDataSource.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/remote/datasources/RemoteDataSource.kt similarity index 62% rename from sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/remote/datasources/RemoteDataSource.kt rename to sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/remote/datasources/RemoteDataSource.kt index 0d96e730..40d0d5f0 100644 --- a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/remote/datasources/RemoteDataSource.kt +++ b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/remote/datasources/RemoteDataSource.kt @@ -1,7 +1,7 @@ -package co.nimblehq.kmm.sample.data.remote.datasources +package co.nimblehq.kmm.template.data.remote.datasources -import co.nimblehq.kmm.sample.data.remote.models.responses.Response -import co.nimblehq.kmm.sample.data.remote.ApiClient +import co.nimblehq.kmm.template.data.remote.models.responses.Response +import co.nimblehq.kmm.template.data.remote.ApiClient interface RemoteDataSource { suspend fun getUsers(): List diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/remote/models/responses/Response.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/remote/models/responses/Response.kt similarity index 62% rename from sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/remote/models/responses/Response.kt rename to sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/remote/models/responses/Response.kt index de2ea438..ab0421b4 100644 --- a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/data/remote/models/responses/Response.kt +++ b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/remote/models/responses/Response.kt @@ -1,6 +1,6 @@ -package co.nimblehq.kmm.sample.data.remote.models.responses +package co.nimblehq.kmm.template.data.remote.models.responses -import co.nimblehq.kmm.sample.domain.models.Model +import co.nimblehq.kmm.template.domain.models.Model import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/repositories/RepositoryImpl.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/repositories/RepositoryImpl.kt new file mode 100644 index 00000000..bd541db4 --- /dev/null +++ b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/data/repositories/RepositoryImpl.kt @@ -0,0 +1,16 @@ +package co.nimblehq.kmm.template.data.repositories + +import co.nimblehq.kmm.template.data.extensions.flowTransform +import co.nimblehq.kmm.template.data.remote.datasources.RemoteDataSource +import co.nimblehq.kmm.template.data.remote.models.responses.toModel +import co.nimblehq.kmm.template.domain.models.Model +import co.nimblehq.kmm.template.domain.repositories.Repository +import kotlinx.coroutines.flow.Flow + +class RepositoryImpl( + private val remoteDataSource: RemoteDataSource +) : Repository { + override fun getUsers(): Flow> = flowTransform { + remoteDataSource.getUsers().map { it.toModel() } + } +} diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/di/Koin.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/di/Koin.kt similarity index 83% rename from sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/di/Koin.kt rename to sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/di/Koin.kt index 53f2affe..7d254713 100644 --- a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/di/Koin.kt +++ b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/di/Koin.kt @@ -1,6 +1,6 @@ -package co.nimblehq.kmm.sample.di +package co.nimblehq.kmm.template.di -import co.nimblehq.kmm.sample.di.modules.* +import co.nimblehq.kmm.template.di.modules.* import org.koin.core.KoinApplication import org.koin.core.context.startKoin import org.koin.dsl.KoinAppDeclaration diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/di/modules/PlatformModule.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/di/modules/PlatformModule.kt similarity index 62% rename from sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/di/modules/PlatformModule.kt rename to sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/di/modules/PlatformModule.kt index 85abdc3e..1964f8f3 100644 --- a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/di/modules/PlatformModule.kt +++ b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/di/modules/PlatformModule.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.sample.di.modules +package co.nimblehq.kmm.template.di.modules import org.koin.core.module.Module diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/di/modules/RemoteModule.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/di/modules/RemoteModule.kt new file mode 100644 index 00000000..3db63691 --- /dev/null +++ b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/di/modules/RemoteModule.kt @@ -0,0 +1,13 @@ +package co.nimblehq.kmm.template.di.modules + +import co.nimblehq.kmm.template.data.remote.datasources.RemoteDataSource +import org.koin.dsl.module +import co.nimblehq.kmm.template.data.remote.ApiClient +import co.nimblehq.kmm.template.data.remote.datasources.RemoteDataSourceImpl +import org.koin.core.module.dsl.singleOf +import org.koin.dsl.bind + +val remoteModule = module { + singleOf(::ApiClient) + singleOf(::RemoteDataSourceImpl) bind RemoteDataSource::class +} diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/di/modules/RepositoryModule.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/di/modules/RepositoryModule.kt similarity index 51% rename from sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/di/modules/RepositoryModule.kt rename to sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/di/modules/RepositoryModule.kt index 48068888..5d844744 100644 --- a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/di/modules/RepositoryModule.kt +++ b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/di/modules/RepositoryModule.kt @@ -1,9 +1,9 @@ -package co.nimblehq.kmm.sample.di.modules +package co.nimblehq.kmm.template.di.modules import org.koin.core.module.dsl.singleOf import org.koin.dsl.module -import co.nimblehq.kmm.sample.data.repositories.RepositoryImpl -import co.nimblehq.kmm.sample.domain.repositories.Repository +import co.nimblehq.kmm.template.data.repositories.RepositoryImpl +import co.nimblehq.kmm.template.domain.repositories.Repository import org.koin.dsl.bind val repositoryModule = module { diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/di/modules/UseCaseModule.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/di/modules/UseCaseModule.kt similarity index 52% rename from sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/di/modules/UseCaseModule.kt rename to sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/di/modules/UseCaseModule.kt index 0c696527..45ea8790 100644 --- a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/di/modules/UseCaseModule.kt +++ b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/di/modules/UseCaseModule.kt @@ -1,9 +1,9 @@ -package co.nimblehq.kmm.sample.di.modules +package co.nimblehq.kmm.template.di.modules import org.koin.core.module.dsl.singleOf import org.koin.dsl.module -import co.nimblehq.kmm.sample.domain.usecases.UseCaseImpl -import co.nimblehq.kmm.sample.domain.usecases.UseCase +import co.nimblehq.kmm.template.domain.usecases.UseCaseImpl +import co.nimblehq.kmm.template.domain.usecases.UseCase import org.koin.dsl.bind val useCaseModule = module { diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/domain/exceptions/ApiException.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/domain/exceptions/ApiException.kt similarity index 76% rename from sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/domain/exceptions/ApiException.kt rename to sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/domain/exceptions/ApiException.kt index bc511105..7cc6a415 100644 --- a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/domain/exceptions/ApiException.kt +++ b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/domain/exceptions/ApiException.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.sample.domain.exceptions +package co.nimblehq.kmm.template.domain.exceptions data class ApiException( val code: String?, diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/domain/models/Model.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/domain/models/Model.kt new file mode 100644 index 00000000..0155513c --- /dev/null +++ b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/domain/models/Model.kt @@ -0,0 +1,5 @@ +package co.nimblehq.kmm.template.domain.models + +data class Model( + val id: Int? +) diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/domain/repositories/Repository.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/domain/repositories/Repository.kt new file mode 100644 index 00000000..319e5f02 --- /dev/null +++ b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/domain/repositories/Repository.kt @@ -0,0 +1,8 @@ +package co.nimblehq.kmm.template.domain.repositories + +import co.nimblehq.kmm.template.domain.models.Model +import kotlinx.coroutines.flow.Flow + +interface Repository { + fun getUsers(): Flow> +} diff --git a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/domain/usecases/UseCase.kt b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/domain/usecases/UseCase.kt similarity index 59% rename from sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/domain/usecases/UseCase.kt rename to sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/domain/usecases/UseCase.kt index c3fd5533..4f8641a5 100644 --- a/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/sample/domain/usecases/UseCase.kt +++ b/sample/shared/src/commonMain/kotlin/co/nimblehq/kmm/template/domain/usecases/UseCase.kt @@ -1,7 +1,7 @@ -package co.nimblehq.kmm.sample.domain.usecases +package co.nimblehq.kmm.template.domain.usecases -import co.nimblehq.kmm.sample.domain.models.Model -import co.nimblehq.kmm.sample.domain.repositories.Repository +import co.nimblehq.kmm.template.domain.models.Model +import co.nimblehq.kmm.template.domain.repositories.Repository import kotlinx.coroutines.flow.Flow interface UseCase { diff --git a/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/sample/util/Fake.kt b/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/sample/util/Fake.kt deleted file mode 100644 index ad85168f..00000000 --- a/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/sample/util/Fake.kt +++ /dev/null @@ -1,11 +0,0 @@ -package co.nimblehq.kmm.sample.util - -import co.nimblehq.kmm.sample.data.remote.models.responses.Response -import co.nimblehq.kmm.sample.domain.models.Model - -object Fake { - - val model = Model(id = 0) - - val response = Response(id = 0) -} diff --git a/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/sample/commonTest.kt b/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/template/commonTest.kt similarity index 86% rename from sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/sample/commonTest.kt rename to sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/template/commonTest.kt index da8f3e9b..560187be 100644 --- a/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/sample/commonTest.kt +++ b/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/template/commonTest.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.sample +package co.nimblehq.kmm.template import kotlin.test.Test import kotlin.test.assertTrue diff --git a/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/sample/data/repositories/RepositoryTest.kt b/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/template/data/repositories/RepositoryTest.kt similarity index 81% rename from sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/sample/data/repositories/RepositoryTest.kt rename to sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/template/data/repositories/RepositoryTest.kt index 98bd3ed3..44592df9 100644 --- a/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/sample/data/repositories/RepositoryTest.kt +++ b/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/template/data/repositories/RepositoryTest.kt @@ -1,10 +1,10 @@ -package co.nimblehq.kmm.sample.data.repositories +package co.nimblehq.kmm.template.data.repositories import app.cash.turbine.test -import co.nimblehq.kmm.sample.data.remote.datasources.RemoteDataSource -import co.nimblehq.kmm.sample.domain.repositories.Repository -import co.nimblehq.kmm.sample.util.Fake.model -import co.nimblehq.kmm.sample.util.Fake.response +import co.nimblehq.kmm.template.data.remote.datasources.RemoteDataSource +import co.nimblehq.kmm.template.domain.repositories.Repository +import co.nimblehq.kmm.template.util.Fake.model +import co.nimblehq.kmm.template.util.Fake.response import io.kotest.matchers.shouldBe import io.mockative.* import kotlinx.coroutines.ExperimentalCoroutinesApi diff --git a/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/sample/domain/usecases/UseCaseTest.kt b/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/template/domain/usecases/UseCaseTest.kt similarity index 89% rename from sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/sample/domain/usecases/UseCaseTest.kt rename to sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/template/domain/usecases/UseCaseTest.kt index fb5c7f54..79549421 100644 --- a/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/sample/domain/usecases/UseCaseTest.kt +++ b/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/template/domain/usecases/UseCaseTest.kt @@ -1,8 +1,8 @@ -package co.nimblehq.kmm.sample.domain.usecases +package co.nimblehq.kmm.template.domain.usecases import app.cash.turbine.test -import co.nimblehq.kmm.sample.domain.repositories.Repository -import co.nimblehq.kmm.sample.util.Fake.model +import co.nimblehq.kmm.template.domain.repositories.Repository +import co.nimblehq.kmm.template.util.Fake.model import io.kotest.matchers.shouldBe import io.mockative.* import kotlinx.coroutines.ExperimentalCoroutinesApi diff --git a/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/sample/extensions/ResponseMappingTest.kt b/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/template/extensions/ResponseMappingTest.kt similarity index 83% rename from sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/sample/extensions/ResponseMappingTest.kt rename to sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/template/extensions/ResponseMappingTest.kt index 9d3a451a..6346d0b9 100644 --- a/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/sample/extensions/ResponseMappingTest.kt +++ b/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/template/extensions/ResponseMappingTest.kt @@ -1,8 +1,8 @@ -package co.nimblehq.kmm.sample.extensions +package co.nimblehq.kmm.template.extensions import app.cash.turbine.test -import co.nimblehq.kmm.sample.data.extensions.flowTransform -import co.nimblehq.kmm.sample.domain.models.Model +import co.nimblehq.kmm.template.data.extensions.flowTransform +import co.nimblehq.kmm.template.domain.models.Model import io.kotest.matchers.shouldBe import io.ktor.utils.io.errors.* import kotlinx.coroutines.ExperimentalCoroutinesApi diff --git a/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/template/util/Fake.kt b/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/template/util/Fake.kt new file mode 100644 index 00000000..da1094a8 --- /dev/null +++ b/sample/shared/src/commonTest/kotlin/co/nimblehq/kmm/template/util/Fake.kt @@ -0,0 +1,11 @@ +package co.nimblehq.kmm.template.util + +import co.nimblehq.kmm.template.data.remote.models.responses.Response +import co.nimblehq.kmm.template.domain.models.Model + +object Fake { + + val model = Model(id = 0) + + val response = Response(id = 0) +} diff --git a/sample/shared/src/iosMain/kotlin/co/nimblehq/kmm/sample/Platform.ios.kt b/sample/shared/src/iosMain/kotlin/co/nimblehq/kmm/template/Platform.ios.kt similarity index 87% rename from sample/shared/src/iosMain/kotlin/co/nimblehq/kmm/sample/Platform.ios.kt rename to sample/shared/src/iosMain/kotlin/co/nimblehq/kmm/template/Platform.ios.kt index fcdc5971..508832e9 100644 --- a/sample/shared/src/iosMain/kotlin/co/nimblehq/kmm/sample/Platform.ios.kt +++ b/sample/shared/src/iosMain/kotlin/co/nimblehq/kmm/template/Platform.ios.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.sample +package co.nimblehq.kmm.template import platform.UIKit.UIDevice diff --git a/sample/shared/src/iosMain/kotlin/co/nimblehq/kmm/sample/di/modules/PlatformModule.kt b/sample/shared/src/iosMain/kotlin/co/nimblehq/kmm/template/di/modules/PlatformModule.kt similarity index 80% rename from sample/shared/src/iosMain/kotlin/co/nimblehq/kmm/sample/di/modules/PlatformModule.kt rename to sample/shared/src/iosMain/kotlin/co/nimblehq/kmm/template/di/modules/PlatformModule.kt index 6f027223..f08cecbb 100644 --- a/sample/shared/src/iosMain/kotlin/co/nimblehq/kmm/sample/di/modules/PlatformModule.kt +++ b/sample/shared/src/iosMain/kotlin/co/nimblehq/kmm/template/di/modules/PlatformModule.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.sample.di.modules +package co.nimblehq.kmm.template.di.modules import io.ktor.client.engine.darwin.Darwin import org.koin.core.module.Module diff --git a/sample/shared/src/iosTest/kotlin/co/nimblehq/kmm/sample/iosTest.kt b/sample/shared/src/iosTest/kotlin/co/nimblehq/kmm/template/iosTest.kt similarity index 86% rename from sample/shared/src/iosTest/kotlin/co/nimblehq/kmm/sample/iosTest.kt rename to sample/shared/src/iosTest/kotlin/co/nimblehq/kmm/template/iosTest.kt index e6286bb9..3922db12 100644 --- a/sample/shared/src/iosTest/kotlin/co/nimblehq/kmm/sample/iosTest.kt +++ b/sample/shared/src/iosTest/kotlin/co/nimblehq/kmm/template/iosTest.kt @@ -1,4 +1,4 @@ -package co.nimblehq.kmm.sample +package co.nimblehq.kmm.template import kotlin.test.Test import kotlin.test.assertTrue From 9651dc9892906e727264e803112d3fbc6dd0a704 Mon Sep 17 00:00:00 2001 From: "Luong Vo (Lucas)" Date: Thu, 30 Nov 2023 17:59:46 +0700 Subject: [PATCH 20/25] [#6] Fix: the right usage of "branches-ignore" on pull request event --- .github/workflows/test.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f37be785..817faabb 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,12 +1,12 @@ name: Code analysis, test and generate sample project on: pull_request: - types: [ opened, synchronize, reopened, ready_for_review ] - push: - branches-ignore: - - main - - develop - - 'release/*' + types: [ opened, edited, reopened, synchronize ] + push: + branches-ignore: + - main + - develop + - 'release/**' concurrency: group: ${{ github.workflow }}-${{ github.ref }} From 7c42b39e48f85dc05ef78b60c06d05a5dad5c862 Mon Sep 17 00:00:00 2001 From: team-nimblehq Date: Thu, 30 Nov 2023 11:17:50 +0000 Subject: [PATCH 21/25] [Chore] Generate & update sample project --- sample/.github/workflows/test.yml | 12 +- sample/ios/Gemfile.lock | 2 +- sample/ios/sample.xcodeproj/project.pbxproj | 250 ++++++++++---------- 3 files changed, 132 insertions(+), 132 deletions(-) diff --git a/sample/.github/workflows/test.yml b/sample/.github/workflows/test.yml index f37be785..817faabb 100644 --- a/sample/.github/workflows/test.yml +++ b/sample/.github/workflows/test.yml @@ -1,12 +1,12 @@ name: Code analysis, test and generate sample project on: pull_request: - types: [ opened, synchronize, reopened, ready_for_review ] - push: - branches-ignore: - - main - - develop - - 'release/*' + types: [ opened, edited, reopened, synchronize ] + push: + branches-ignore: + - main + - develop + - 'release/**' concurrency: group: ${{ github.workflow }}-${{ github.ref }} diff --git a/sample/ios/Gemfile.lock b/sample/ios/Gemfile.lock index 8ed9c097..b312382b 100644 --- a/sample/ios/Gemfile.lock +++ b/sample/ios/Gemfile.lock @@ -364,4 +364,4 @@ DEPENDENCIES xcov BUNDLED WITH - 2.4.22 + 2.4.21 diff --git a/sample/ios/sample.xcodeproj/project.pbxproj b/sample/ios/sample.xcodeproj/project.pbxproj index 99b7df16..75bc9c4d 100644 --- a/sample/ios/sample.xcodeproj/project.pbxproj +++ b/sample/ios/sample.xcodeproj/project.pbxproj @@ -9,13 +9,15 @@ /* Begin PBXBuildFile section */ 0B975608DEB5FC5F00024E82 /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = EFE5D281FD0FFFF44FC92B04 /* .gitkeep */; }; 0FCD70BBC15623E2843E571B /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = E4C58806C2B28AED0873F8AF /* .gitkeep */; }; - 1105753494BC19A614E77D2C /* Pods_sample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4F2C92F7F4309B54F2556136 /* Pods_sample.framework */; }; + 11D0C7EAA95648DAD2283F03 /* Pods_sample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F3AC190292139515F002A6A /* Pods_sample.framework */; }; 18B4C2A55909888C5D0EDFDA /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6432B427D5097BCF75C4B15E /* AppDelegate.swift */; }; 1F3B8CA45E426F2E4BA8A41C /* R.generated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EEB8F8EE4393D2D9AC51316 /* R.generated.swift */; }; 20FF012BAC088FFC92962E28 /* UIView+Subviews.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDBCDCBA1D855D7023A0342F /* UIView+Subviews.swift */; }; + 218CD79EFDEE072270CD626F /* Pods_sampleTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F94F00B1E2A587A7ECF045F8 /* Pods_sampleTests.framework */; }; 33209CEB34C04BC32D0FFDD4 /* UseCaseFactoryProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CA52B4C8C3AF1CB2181C14D /* UseCaseFactoryProtocol.swift */; }; 3559AC5988194A4701902F80 /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = 302BB730B8D0BF901FF489B6 /* .gitkeep */; }; 53157A77A8B802D108AE9D73 /* Typealiases.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5B819017A28FE15B242BB5B /* Typealiases.swift */; }; + 5555149F33EDE4CE3A6EE4A4 /* Pods_sample_sampleKIFUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5FE67229BB57BA5250060FC4 /* Pods_sample_sampleKIFUITests.framework */; }; 66C817ACCA7CE15ABF58BC06 /* HomeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBD1568B768046A18E011F2C /* HomeViewController.swift */; }; 701258D40CE69EC8168A3D12 /* AutoMockable.generated.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBF1B234787FCD92142B105D /* AutoMockable.generated.swift */; }; 7CF0F8933FB47F5D003383AA /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = 41210B648761A8DC4ABD3BB9 /* .gitkeep */; }; @@ -29,8 +31,6 @@ CA324314BE7318252E4D5D62 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 6952456309E29C9609D23B3F /* LaunchScreen.storyboard */; }; D609A7DCE8B3E7A49CFACC2E /* Navigator+Transition.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9816C413C0D0DD7B01BA9CE /* Navigator+Transition.swift */; }; DE665FDD6164065A881A2F44 /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = 67C0EA707F4FBB459FEBA640 /* .gitkeep */; }; - E0AB1F9A7AE38BBF7798554B /* Pods_sample_sampleKIFUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 09CA75EC7B8B940DF614F311 /* Pods_sample_sampleKIFUITests.framework */; }; - E7531F638690FE5E3BC2F5F3 /* Pods_sampleTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C5460549DB5C90F3C843F24A /* Pods_sampleTests.framework */; }; F444409E14F8ED6BF6A2666A /* KIF+Swift.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFAE58D40BFE459B1184D994 /* KIF+Swift.swift */; }; F858855AD6392D182B853A79 /* Optional+Unwrap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 562EF605C844B951CD47F38D /* Optional+Unwrap.swift */; }; /* End PBXBuildFile section */ @@ -88,50 +88,50 @@ /* Begin PBXFileReference section */ 04B8796D7472561BF8EB10A1 /* DebugProduction.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = DebugProduction.xcconfig; sourceTree = ""; }; 05F57F86A37A0E0B6CC54CB4 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; - 09CA75EC7B8B940DF614F311 /* Pods_sample_sampleKIFUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample_sampleKIFUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 18C176717B282B7A8842FC73 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; - 1917A23D2FD469BDAC51C5B6 /* Pods-sample.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug production.xcconfig"; sourceTree = ""; }; 1EEB8F8EE4393D2D9AC51316 /* R.generated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = R.generated.swift; sourceTree = ""; }; - 1F2557D4DF68C4A1A5961F9E /* Pods-sampleTests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug production.xcconfig"; sourceTree = ""; }; 222B1BD9F71FF1797F160231 /* Constants+API.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Constants+API.swift"; sourceTree = ""; }; - 2B0F630F6983094A831A6FB6 /* Pods-sample.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release production.xcconfig"; sourceTree = ""; }; 302BB730B8D0BF901FF489B6 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; + 3AC5A412E8996DED966AA0ED /* Pods-sampleTests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug staging.xcconfig"; sourceTree = ""; }; + 3F3AC190292139515F002A6A /* Pods_sample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 41210B648761A8DC4ABD3BB9 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; 414B86B12605C252A692EA37 /* sampleKIFUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = sampleKIFUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 4BBD1A31AA1FC3C33E9DCD53 /* Pods-sampleTests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug staging.xcconfig"; sourceTree = ""; }; - 4F2C92F7F4309B54F2556136 /* Pods_sample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 5151B8C8A213E89C3827E274 /* Pods-sample.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug production.xcconfig"; sourceTree = ""; }; + 515FD22EE9E7CEE61B429373 /* Pods-sample.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release staging.xcconfig"; sourceTree = ""; }; 562EF605C844B951CD47F38D /* Optional+Unwrap.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Optional+Unwrap.swift"; sourceTree = ""; }; - 60A07325CCFB648E8F0A7E91 /* Pods-sample.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release staging.xcconfig"; sourceTree = ""; }; - 60EFDEF75CD0B2878C5C9485 /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug staging.xcconfig"; sourceTree = ""; }; - 6182C925B56EB8C827C7811B /* Pods-sampleTests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release staging.xcconfig"; sourceTree = ""; }; + 5FE67229BB57BA5250060FC4 /* Pods_sample_sampleKIFUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample_sampleKIFUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 6432B427D5097BCF75C4B15E /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 67C0EA707F4FBB459FEBA640 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; 6952456309E29C9609D23B3F /* LaunchScreen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = ""; }; - 7BC1D34F4A38FBD6823E9979 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release staging.xcconfig"; sourceTree = ""; }; - 8101EA89314722F4997E28D3 /* Pods-sampleTests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release production.xcconfig"; sourceTree = ""; }; + 7C17844C25BBBB33C89EE095 /* Pods-sampleTests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release staging.xcconfig"; sourceTree = ""; }; + 7EE1BC44E046425631313AFC /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug staging.xcconfig"; sourceTree = ""; }; 82F5C2293A2DB24CDCA81957 /* Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = ""; }; 8CA52B4C8C3AF1CB2181C14D /* UseCaseFactoryProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UseCaseFactoryProtocol.swift; sourceTree = ""; }; A29F97F67192DE9B66E872E6 /* Color+Application.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Color+Application.swift"; sourceTree = ""; }; A64B0E7B034D526205048030 /* Navigator+Scene.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Navigator+Scene.swift"; sourceTree = ""; }; + A7BA210A2E84AB72B00BE5F9 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug production.xcconfig"; sourceTree = ""; }; ADE63A1C257C06E1D05C8136 /* DebugStaging.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = DebugStaging.xcconfig; sourceTree = ""; }; B8847183C3FF3D70FE4192CD /* sampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = sampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; BBD1568B768046A18E011F2C /* HomeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeViewController.swift; sourceTree = ""; }; BBF1B234787FCD92142B105D /* AutoMockable.generated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutoMockable.generated.swift; sourceTree = ""; }; BD9D9C9A495C5EA0AE9039C6 /* ReleaseProduction.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = ReleaseProduction.xcconfig; sourceTree = ""; }; C159B27C88C08E8AEB22AFD4 /* Navigator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Navigator.swift; sourceTree = ""; }; - C330A067B833607B64259B3D /* Pods-sample-sampleKIFUITests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release production.xcconfig"; sourceTree = ""; }; - C5460549DB5C90F3C843F24A /* Pods_sampleTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sampleTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - C9C83BCD8D2743C8A9D9793C /* Pods-sample-sampleKIFUITests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug production.xcconfig"; sourceTree = ""; }; + C2E5D39B0F4DDFCEEC0A121E /* Pods-sample-sampleKIFUITests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release staging.xcconfig"; sourceTree = ""; }; + C2F81FD1A9BB4BCF565142DC /* Pods-sample.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug staging.xcconfig"; sourceTree = ""; }; + CB225E0D39E781EBB3595409 /* Pods-sampleTests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release production.xcconfig"; sourceTree = ""; }; CD3A7C3AC94E15DEC4F12A85 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + CD59FB5D02C78BBEBE248A78 /* Pods-sample-sampleKIFUITests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release production.xcconfig"; sourceTree = ""; }; CDBCDCBA1D855D7023A0342F /* UIView+Subviews.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIView+Subviews.swift"; sourceTree = ""; }; D2D7345A2017D2D372785123 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; D2F657F289C5314152FFCFA2 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - D9D14F40D6D0E53BDBA6BE28 /* Pods-sample.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug staging.xcconfig"; sourceTree = ""; }; + D4CFF1B57083D1F30993E73E /* Pods-sample.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release production.xcconfig"; sourceTree = ""; }; + DE4201A67D1FE3CEFFEA2A53 /* Pods-sampleTests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug production.xcconfig"; sourceTree = ""; }; E4C58806C2B28AED0873F8AF /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; EFAE58D40BFE459B1184D994 /* KIF+Swift.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "KIF+Swift.swift"; sourceTree = ""; }; EFE5D281FD0FFFF44FC92B04 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; F5B819017A28FE15B242BB5B /* Typealiases.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Typealiases.swift; sourceTree = ""; }; F854F7439696BB6B30145F6D /* ReleaseStaging.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = ReleaseStaging.xcconfig; sourceTree = ""; }; + F94F00B1E2A587A7ECF045F8 /* Pods_sampleTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sampleTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; F9816C413C0D0DD7B01BA9CE /* Navigator+Transition.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Navigator+Transition.swift"; sourceTree = ""; }; FB7E8789ADE1FB388671EEB3 /* sample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = sample.app; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ @@ -141,7 +141,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E0AB1F9A7AE38BBF7798554B /* Pods_sample_sampleKIFUITests.framework in Frameworks */, + 5555149F33EDE4CE3A6EE4A4 /* Pods_sample_sampleKIFUITests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -149,7 +149,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E7531F638690FE5E3BC2F5F3 /* Pods_sampleTests.framework in Frameworks */, + 218CD79EFDEE072270CD626F /* Pods_sampleTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -157,7 +157,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1105753494BC19A614E77D2C /* Pods_sample.framework in Frameworks */, + 11D0C7EAA95648DAD2283F03 /* Pods_sample.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -225,6 +225,26 @@ path = Extensions; sourceTree = ""; }; + 452A366865D54EF15CEF44ED /* Pods */ = { + isa = PBXGroup; + children = ( + 5151B8C8A213E89C3827E274 /* Pods-sample.debug production.xcconfig */, + C2F81FD1A9BB4BCF565142DC /* Pods-sample.debug staging.xcconfig */, + D4CFF1B57083D1F30993E73E /* Pods-sample.release production.xcconfig */, + 515FD22EE9E7CEE61B429373 /* Pods-sample.release staging.xcconfig */, + A7BA210A2E84AB72B00BE5F9 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */, + 7EE1BC44E046425631313AFC /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */, + CD59FB5D02C78BBEBE248A78 /* Pods-sample-sampleKIFUITests.release production.xcconfig */, + C2E5D39B0F4DDFCEEC0A121E /* Pods-sample-sampleKIFUITests.release staging.xcconfig */, + DE4201A67D1FE3CEFFEA2A53 /* Pods-sampleTests.debug production.xcconfig */, + 3AC5A412E8996DED966AA0ED /* Pods-sampleTests.debug staging.xcconfig */, + CB225E0D39E781EBB3595409 /* Pods-sampleTests.release production.xcconfig */, + 7C17844C25BBBB33C89EE095 /* Pods-sampleTests.release staging.xcconfig */, + ); + name = Pods; + path = Pods; + sourceTree = ""; + }; 454866F5B65E9AFC4B512241 /* Dummy */ = { isa = PBXGroup; children = ( @@ -261,9 +281,9 @@ 52B072A663159D9D007D540F /* Frameworks */ = { isa = PBXGroup; children = ( - 4F2C92F7F4309B54F2556136 /* Pods_sample.framework */, - 09CA75EC7B8B940DF614F311 /* Pods_sample_sampleKIFUITests.framework */, - C5460549DB5C90F3C843F24A /* Pods_sampleTests.framework */, + 3F3AC190292139515F002A6A /* Pods_sample.framework */, + 5FE67229BB57BA5250060FC4 /* Pods_sample_sampleKIFUITests.framework */, + F94F00B1E2A587A7ECF045F8 /* Pods_sampleTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -298,7 +318,7 @@ 9B7CF20BE2915B62911C62AA /* Project */, 52B072A663159D9D007D540F /* Frameworks */, 372816F20EC291B850EECF1F /* Products */, - E4F8AD260838ADF61BD921A9 /* Pods */, + 452A366865D54EF15CEF44ED /* Pods */, ); sourceTree = ""; }; @@ -500,26 +520,6 @@ path = sample; sourceTree = ""; }; - E4F8AD260838ADF61BD921A9 /* Pods */ = { - isa = PBXGroup; - children = ( - 1917A23D2FD469BDAC51C5B6 /* Pods-sample.debug production.xcconfig */, - D9D14F40D6D0E53BDBA6BE28 /* Pods-sample.debug staging.xcconfig */, - 2B0F630F6983094A831A6FB6 /* Pods-sample.release production.xcconfig */, - 60A07325CCFB648E8F0A7E91 /* Pods-sample.release staging.xcconfig */, - C9C83BCD8D2743C8A9D9793C /* Pods-sample-sampleKIFUITests.debug production.xcconfig */, - 60EFDEF75CD0B2878C5C9485 /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */, - C330A067B833607B64259B3D /* Pods-sample-sampleKIFUITests.release production.xcconfig */, - 7BC1D34F4A38FBD6823E9979 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */, - 1F2557D4DF68C4A1A5961F9E /* Pods-sampleTests.debug production.xcconfig */, - 4BBD1A31AA1FC3C33E9DCD53 /* Pods-sampleTests.debug staging.xcconfig */, - 8101EA89314722F4997E28D3 /* Pods-sampleTests.release production.xcconfig */, - 6182C925B56EB8C827C7811B /* Pods-sampleTests.release staging.xcconfig */, - ); - name = Pods; - path = Pods; - sourceTree = ""; - }; E675224256C4174F5D808C42 /* Helpers */ = { isa = PBXGroup; children = ( @@ -570,7 +570,7 @@ isa = PBXNativeTarget; buildConfigurationList = 56FE2126489C1E87A2D918A3 /* Build configuration list for PBXNativeTarget "sample" */; buildPhases = ( - 5961EC97E5AFB081789318B7 /* [CP] Check Pods Manifest.lock */, + CF4C06295E6590AB6B6D72E8 /* [CP] Check Pods Manifest.lock */, B2B621CC2B1F4F58601CD98D /* Sourcery */, 7EB246CFC1E0CCBA652DC37E /* R.swift */, CF26733D03C8D33F8823EE1F /* SwiftLint */, @@ -580,7 +580,7 @@ 494614C33B509301DBBDAD42 /* Embed Frameworks */, 89C77BA3C707AD804F79284B /* Frameworks */, 843C67A8A78058B8D8B3D11E /* Copy GoogleService-Info.plist */, - 92A10C0BD9BE1ED3DAE41A62 /* [CP] Embed Pods Frameworks */, + E6AFC3391B4D6E8471056FD9 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -595,12 +595,12 @@ isa = PBXNativeTarget; buildConfigurationList = 31E84C030BDB7A39BCE38D8C /* Build configuration list for PBXNativeTarget "sampleKIFUITests" */; buildPhases = ( - AD28E4602AFD628012826370 /* [CP] Check Pods Manifest.lock */, + B6680F06961AD9FDAC9CCF1C /* [CP] Check Pods Manifest.lock */, 21ADDF0B071B770FFB6A086A /* Sources */, 43218B877C978B4CA5B93235 /* Resources */, 392BFB718CBF57CF0D23848E /* Embed Frameworks */, 29CEF4F9FF315D4254B8BC69 /* Frameworks */, - 28219F746D2615058FA30CA0 /* [CP] Embed Pods Frameworks */, + 39687A17EEC7C865C0F8E530 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -616,13 +616,13 @@ isa = PBXNativeTarget; buildConfigurationList = C3875EBB5A0F6612B3515A13 /* Build configuration list for PBXNativeTarget "sampleTests" */; buildPhases = ( - 2F4671ED7300C3D4677215F0 /* [CP] Check Pods Manifest.lock */, + C14AABDCBBEBD218DAD3980A /* [CP] Check Pods Manifest.lock */, 2F7B6AB35D89AA83D514ECC2 /* SwiftFormat */, 9344943859735CAEA8DDB048 /* Sources */, E472A2AC48FE9588146AB254 /* Resources */, 51D3263E7013F91DCDB0D884 /* Embed Frameworks */, 7A7AFF7C6576A774E896CA81 /* Frameworks */, - 7EAB9F6AA539DBFC4C001AE0 /* [CP] Embed Pods Frameworks */, + E261C2F5F089C773ECBAACE3 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -703,47 +703,44 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 28219F746D2615058FA30CA0 /* [CP] Embed Pods Frameworks */ = { + 2F7B6AB35D89AA83D514ECC2 /* SwiftFormat */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + ); + name = SwiftFormat; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks.sh\"\n"; - showEnvVarsInLog = 0; + shellScript = "if [ -z \"$CI\" ]; then\n \"${PODS_ROOT}/SwiftFormat/CommandLineTool/swiftformat\" \"$SRCROOT\"\nfi"; }; - 2F4671ED7300C3D4677215F0 /* [CP] Check Pods Manifest.lock */ = { + 39687A17EEC7C865C0F8E530 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-sampleTests-checkManifestLockResult.txt", + "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 2F7B6AB35D89AA83D514ECC2 /* SwiftFormat */ = { + 7EB246CFC1E0CCBA652DC37E /* R.swift */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); @@ -751,16 +748,17 @@ ); inputPaths = ( ); - name = SwiftFormat; + name = R.swift; outputFileListPaths = ( ); outputPaths = ( + "$SRCROOT/$PROJECT_NAME/Sources/Supports/Helpers/Rswift/R.generated.swift", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "if [ -z \"$CI\" ]; then\n \"${PODS_ROOT}/SwiftFormat/CommandLineTool/swiftformat\" \"$SRCROOT\"\nfi"; + shellScript = "\"$PODS_ROOT/R.swift/rswift\" generate \"$SRCROOT/$PROJECT_NAME/Sources/Supports/Helpers/Rswift/R.generated.swift\""; }; - 5961EC97E5AFB081789318B7 /* [CP] Check Pods Manifest.lock */ = { + 843C67A8A78058B8D8B3D11E /* Copy GoogleService-Info.plist */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -768,58 +766,57 @@ inputFileListPaths = ( ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", ); - name = "[CP] Check Pods Manifest.lock"; + name = "Copy GoogleService-Info.plist"; outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-sample-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "PATH_TO_GOOGLE_PLISTS=\"$SRCROOT/$PROJECT_NAME/Configurations/Plists/GoogleService\"\n\ncase \"${CONFIGURATION}\" in\n\"Debug Staging\" | \"Release Staging\" )\ncp -r \"$PATH_TO_GOOGLE_PLISTS/Staging/GoogleService-Info.plist\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist\"\n;;\n\"Debug Production\" | \"Release Production\" )\ncp -r \"$PATH_TO_GOOGLE_PLISTS/Production/GoogleService-Info.plist\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist\"\n;;\n*)\n;;\nesac"; }; - 7EAB9F6AA539DBFC4C001AE0 /* [CP] Embed Pods Frameworks */ = { + B2B621CC2B1F4F58601CD98D /* Sourcery */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + ); + name = Sourcery; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks.sh\"\n"; - showEnvVarsInLog = 0; + shellScript = "\"$PODS_ROOT/Sourcery/bin/sourcery\""; }; - 7EB246CFC1E0CCBA652DC37E /* R.swift */ = { + B6680F06961AD9FDAC9CCF1C /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); - name = R.swift; + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( ); outputPaths = ( - "$SRCROOT/$PROJECT_NAME/Sources/Supports/Helpers/Rswift/R.generated.swift", + "$(DERIVED_FILE_DIR)/Pods-sample-sampleKIFUITests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"$PODS_ROOT/R.swift/rswift\" generate \"$SRCROOT/$PROJECT_NAME/Sources/Supports/Helpers/Rswift/R.generated.swift\""; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - 843C67A8A78058B8D8B3D11E /* Copy GoogleService-Info.plist */ = { + C14AABDCBBEBD218DAD3980A /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -827,34 +824,39 @@ inputFileListPaths = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); - name = "Copy GoogleService-Info.plist"; + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( ); outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-sampleTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "PATH_TO_GOOGLE_PLISTS=\"$SRCROOT/$PROJECT_NAME/Configurations/Plists/GoogleService\"\n\ncase \"${CONFIGURATION}\" in\n\"Debug Staging\" | \"Release Staging\" )\ncp -r \"$PATH_TO_GOOGLE_PLISTS/Staging/GoogleService-Info.plist\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist\"\n;;\n\"Debug Production\" | \"Release Production\" )\ncp -r \"$PATH_TO_GOOGLE_PLISTS/Production/GoogleService-Info.plist\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist\"\n;;\n*)\n;;\nesac"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - 92A10C0BD9BE1ED3DAE41A62 /* [CP] Embed Pods Frameworks */ = { + CF26733D03C8D33F8823EE1F /* SwiftLint */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + ); + name = SwiftLint; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks.sh\"\n"; - showEnvVarsInLog = 0; + shellScript = "if [ -z \"$CI\" ]; then\n ${PODS_ROOT}/SwiftLint/swiftlint\nfi"; }; - AD28E4602AFD628012826370 /* [CP] Check Pods Manifest.lock */ = { + CF4C06295E6590AB6B6D72E8 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -869,48 +871,46 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-sample-sampleKIFUITests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-sample-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - B2B621CC2B1F4F58601CD98D /* Sourcery */ = { + E261C2F5F089C773ECBAACE3 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - ); - name = Sourcery; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - ); - outputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"$PODS_ROOT/Sourcery/bin/sourcery\""; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks.sh\"\n"; + showEnvVarsInLog = 0; }; - CF26733D03C8D33F8823EE1F /* SwiftLint */ = { + E6AFC3391B4D6E8471056FD9 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - ); - name = SwiftLint; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - ); - outputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "if [ -z \"$CI\" ]; then\n ${PODS_ROOT}/SwiftLint/swiftlint\nfi"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks.sh\"\n"; + showEnvVarsInLog = 0; }; EF3878B82E1CD4611A640906 /* SwiftFormat Lint */ = { isa = PBXShellScriptBuildPhase; @@ -989,7 +989,7 @@ /* Begin XCBuildConfiguration section */ 21ACBFF0B81C5FE1926420D2 /* Debug Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C9C83BCD8D2743C8A9D9793C /* Pods-sample-sampleKIFUITests.debug production.xcconfig */; + baseConfigurationReference = A7BA210A2E84AB72B00BE5F9 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1014,7 +1014,7 @@ }; 252EA76B363BC50D825D8BD6 /* Debug Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4BBD1A31AA1FC3C33E9DCD53 /* Pods-sampleTests.debug staging.xcconfig */; + baseConfigurationReference = 3AC5A412E8996DED966AA0ED /* Pods-sampleTests.debug staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1039,7 +1039,7 @@ }; 388E6BE620787A06CA1CA7EE /* Release Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 60A07325CCFB648E8F0A7E91 /* Pods-sample.release staging.xcconfig */; + baseConfigurationReference = 515FD22EE9E7CEE61B429373 /* Pods-sample.release staging.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1063,7 +1063,7 @@ }; 38F81F703A83D6A307430059 /* Release Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C330A067B833607B64259B3D /* Pods-sample-sampleKIFUITests.release production.xcconfig */; + baseConfigurationReference = CD59FB5D02C78BBEBE248A78 /* Pods-sample-sampleKIFUITests.release production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1087,7 +1087,7 @@ }; 3BEDFE87FC2F0AE206422087 /* Release Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 8101EA89314722F4997E28D3 /* Pods-sampleTests.release production.xcconfig */; + baseConfigurationReference = CB225E0D39E781EBB3595409 /* Pods-sampleTests.release production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1111,7 +1111,7 @@ }; 3E22885F8CD58F60301062E2 /* Release Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7BC1D34F4A38FBD6823E9979 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */; + baseConfigurationReference = C2E5D39B0F4DDFCEEC0A121E /* Pods-sample-sampleKIFUITests.release staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1135,7 +1135,7 @@ }; 4C1D6824327C0FD7CA0FD5EA /* Release Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2B0F630F6983094A831A6FB6 /* Pods-sample.release production.xcconfig */; + baseConfigurationReference = D4CFF1B57083D1F30993E73E /* Pods-sample.release production.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1218,7 +1218,7 @@ }; 65EFF1C45B23F50B02803EAD /* Debug Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D9D14F40D6D0E53BDBA6BE28 /* Pods-sample.debug staging.xcconfig */; + baseConfigurationReference = C2F81FD1A9BB4BCF565142DC /* Pods-sample.debug staging.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1243,7 +1243,7 @@ }; 944F5AFF63FDFD18DB25D45F /* Debug Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1917A23D2FD469BDAC51C5B6 /* Pods-sample.debug production.xcconfig */; + baseConfigurationReference = 5151B8C8A213E89C3827E274 /* Pods-sample.debug production.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1268,7 +1268,7 @@ }; A6CE62F8A695FBBC221E4690 /* Debug Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1F2557D4DF68C4A1A5961F9E /* Pods-sampleTests.debug production.xcconfig */; + baseConfigurationReference = DE4201A67D1FE3CEFFEA2A53 /* Pods-sampleTests.debug production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1293,7 +1293,7 @@ }; B7E6733E7030283A3E74681B /* Debug Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 60EFDEF75CD0B2878C5C9485 /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */; + baseConfigurationReference = 7EE1BC44E046425631313AFC /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1371,7 +1371,7 @@ }; BD91BBB9D406D96A13EB8291 /* Release Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6182C925B56EB8C827C7811B /* Pods-sampleTests.release staging.xcconfig */; + baseConfigurationReference = 7C17844C25BBBB33C89EE095 /* Pods-sampleTests.release staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; From 1304814acec5c2928a4b51bc7c0c0c95c82ca213 Mon Sep 17 00:00:00 2001 From: "Luong Vo (Lucas)" Date: Thu, 30 Nov 2023 23:24:36 +0700 Subject: [PATCH 22/25] [Chore] Ignore release keystore file out of git --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 6b4bee79..8e2f43e5 100644 --- a/.gitignore +++ b/.gitignore @@ -49,6 +49,9 @@ local.properties xcuserdata buildKonfig.properties +# Keystore +config/release.keystore + # iOS ios/Pods/ ios/fastlane/README.md From 330905298f26348ab3ad9630966e59e23e7e3c1d Mon Sep 17 00:00:00 2001 From: team-nimblehq Date: Thu, 30 Nov 2023 16:28:45 +0000 Subject: [PATCH 23/25] [Chore] Generate & update sample project --- sample/.gitignore | 3 + sample/ios/sample.xcodeproj/project.pbxproj | 216 ++++++++++---------- 2 files changed, 111 insertions(+), 108 deletions(-) diff --git a/sample/.gitignore b/sample/.gitignore index 6b4bee79..8e2f43e5 100644 --- a/sample/.gitignore +++ b/sample/.gitignore @@ -49,6 +49,9 @@ local.properties xcuserdata buildKonfig.properties +# Keystore +config/release.keystore + # iOS ios/Pods/ ios/fastlane/README.md diff --git a/sample/ios/sample.xcodeproj/project.pbxproj b/sample/ios/sample.xcodeproj/project.pbxproj index 75bc9c4d..7688c18c 100644 --- a/sample/ios/sample.xcodeproj/project.pbxproj +++ b/sample/ios/sample.xcodeproj/project.pbxproj @@ -9,16 +9,16 @@ /* Begin PBXBuildFile section */ 0B975608DEB5FC5F00024E82 /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = EFE5D281FD0FFFF44FC92B04 /* .gitkeep */; }; 0FCD70BBC15623E2843E571B /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = E4C58806C2B28AED0873F8AF /* .gitkeep */; }; - 11D0C7EAA95648DAD2283F03 /* Pods_sample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F3AC190292139515F002A6A /* Pods_sample.framework */; }; 18B4C2A55909888C5D0EDFDA /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6432B427D5097BCF75C4B15E /* AppDelegate.swift */; }; 1F3B8CA45E426F2E4BA8A41C /* R.generated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EEB8F8EE4393D2D9AC51316 /* R.generated.swift */; }; 20FF012BAC088FFC92962E28 /* UIView+Subviews.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDBCDCBA1D855D7023A0342F /* UIView+Subviews.swift */; }; - 218CD79EFDEE072270CD626F /* Pods_sampleTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F94F00B1E2A587A7ECF045F8 /* Pods_sampleTests.framework */; }; 33209CEB34C04BC32D0FFDD4 /* UseCaseFactoryProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CA52B4C8C3AF1CB2181C14D /* UseCaseFactoryProtocol.swift */; }; 3559AC5988194A4701902F80 /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = 302BB730B8D0BF901FF489B6 /* .gitkeep */; }; + 3FA2A165A1E27C07536FDF2B /* Pods_sample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 36D24E8247D40F3CED0AA3C9 /* Pods_sample.framework */; }; 53157A77A8B802D108AE9D73 /* Typealiases.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5B819017A28FE15B242BB5B /* Typealiases.swift */; }; - 5555149F33EDE4CE3A6EE4A4 /* Pods_sample_sampleKIFUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5FE67229BB57BA5250060FC4 /* Pods_sample_sampleKIFUITests.framework */; }; 66C817ACCA7CE15ABF58BC06 /* HomeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBD1568B768046A18E011F2C /* HomeViewController.swift */; }; + 68B12E228934F0E110AA33AB /* Pods_sample_sampleKIFUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4CA6EE0692AC0F21D175EB7 /* Pods_sample_sampleKIFUITests.framework */; }; + 6F9F80B82043C47A34AEE6EC /* Pods_sampleTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BFA6331E89EDE31A5BFEA878 /* Pods_sampleTests.framework */; }; 701258D40CE69EC8168A3D12 /* AutoMockable.generated.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBF1B234787FCD92142B105D /* AutoMockable.generated.swift */; }; 7CF0F8933FB47F5D003383AA /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = 41210B648761A8DC4ABD3BB9 /* .gitkeep */; }; 7ED0E12DA355DEE8EED0B614 /* Color+Application.swift in Sources */ = {isa = PBXBuildFile; fileRef = A29F97F67192DE9B66E872E6 /* Color+Application.swift */; }; @@ -88,50 +88,50 @@ /* Begin PBXFileReference section */ 04B8796D7472561BF8EB10A1 /* DebugProduction.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = DebugProduction.xcconfig; sourceTree = ""; }; 05F57F86A37A0E0B6CC54CB4 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; + 1876ACD2BBBB16A8FB7F2988 /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug staging.xcconfig"; sourceTree = ""; }; 18C176717B282B7A8842FC73 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; 1EEB8F8EE4393D2D9AC51316 /* R.generated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = R.generated.swift; sourceTree = ""; }; 222B1BD9F71FF1797F160231 /* Constants+API.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Constants+API.swift"; sourceTree = ""; }; 302BB730B8D0BF901FF489B6 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; - 3AC5A412E8996DED966AA0ED /* Pods-sampleTests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug staging.xcconfig"; sourceTree = ""; }; - 3F3AC190292139515F002A6A /* Pods_sample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 36D24E8247D40F3CED0AA3C9 /* Pods_sample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 41210B648761A8DC4ABD3BB9 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; 414B86B12605C252A692EA37 /* sampleKIFUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = sampleKIFUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 5151B8C8A213E89C3827E274 /* Pods-sample.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug production.xcconfig"; sourceTree = ""; }; - 515FD22EE9E7CEE61B429373 /* Pods-sample.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release staging.xcconfig"; sourceTree = ""; }; + 4881DDC4F01A652240F53071 /* Pods-sampleTests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release staging.xcconfig"; sourceTree = ""; }; 562EF605C844B951CD47F38D /* Optional+Unwrap.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Optional+Unwrap.swift"; sourceTree = ""; }; - 5FE67229BB57BA5250060FC4 /* Pods_sample_sampleKIFUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample_sampleKIFUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 599AB102E374D8AB9E60B045 /* Pods-sampleTests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug production.xcconfig"; sourceTree = ""; }; 6432B427D5097BCF75C4B15E /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 67C0EA707F4FBB459FEBA640 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; 6952456309E29C9609D23B3F /* LaunchScreen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = ""; }; - 7C17844C25BBBB33C89EE095 /* Pods-sampleTests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release staging.xcconfig"; sourceTree = ""; }; - 7EE1BC44E046425631313AFC /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug staging.xcconfig"; sourceTree = ""; }; + 6C1A42CCDFF9DFC5ADF7F560 /* Pods-sampleTests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release production.xcconfig"; sourceTree = ""; }; + 6D3DD73BA98E2261351F53AD /* Pods-sample-sampleKIFUITests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release staging.xcconfig"; sourceTree = ""; }; + 79083F68C32F281B15682EE5 /* Pods-sample.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug production.xcconfig"; sourceTree = ""; }; 82F5C2293A2DB24CDCA81957 /* Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = ""; }; 8CA52B4C8C3AF1CB2181C14D /* UseCaseFactoryProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UseCaseFactoryProtocol.swift; sourceTree = ""; }; + 99FF1757D9A836A0045316A2 /* Pods-sample.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug staging.xcconfig"; sourceTree = ""; }; A29F97F67192DE9B66E872E6 /* Color+Application.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Color+Application.swift"; sourceTree = ""; }; A64B0E7B034D526205048030 /* Navigator+Scene.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Navigator+Scene.swift"; sourceTree = ""; }; - A7BA210A2E84AB72B00BE5F9 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug production.xcconfig"; sourceTree = ""; }; ADE63A1C257C06E1D05C8136 /* DebugStaging.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = DebugStaging.xcconfig; sourceTree = ""; }; + AE0C8B45C1E213F7A3A380C6 /* Pods-sample.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release staging.xcconfig"; sourceTree = ""; }; B8847183C3FF3D70FE4192CD /* sampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = sampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + BB79CBE247C1C54FCDAE1DC8 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug production.xcconfig"; sourceTree = ""; }; BBD1568B768046A18E011F2C /* HomeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeViewController.swift; sourceTree = ""; }; BBF1B234787FCD92142B105D /* AutoMockable.generated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutoMockable.generated.swift; sourceTree = ""; }; BD9D9C9A495C5EA0AE9039C6 /* ReleaseProduction.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = ReleaseProduction.xcconfig; sourceTree = ""; }; + BFA6331E89EDE31A5BFEA878 /* Pods_sampleTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sampleTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; C159B27C88C08E8AEB22AFD4 /* Navigator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Navigator.swift; sourceTree = ""; }; - C2E5D39B0F4DDFCEEC0A121E /* Pods-sample-sampleKIFUITests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release staging.xcconfig"; sourceTree = ""; }; - C2F81FD1A9BB4BCF565142DC /* Pods-sample.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug staging.xcconfig"; sourceTree = ""; }; - CB225E0D39E781EBB3595409 /* Pods-sampleTests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release production.xcconfig"; sourceTree = ""; }; CD3A7C3AC94E15DEC4F12A85 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; - CD59FB5D02C78BBEBE248A78 /* Pods-sample-sampleKIFUITests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release production.xcconfig"; sourceTree = ""; }; CDBCDCBA1D855D7023A0342F /* UIView+Subviews.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIView+Subviews.swift"; sourceTree = ""; }; D2D7345A2017D2D372785123 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; D2F657F289C5314152FFCFA2 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - D4CFF1B57083D1F30993E73E /* Pods-sample.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release production.xcconfig"; sourceTree = ""; }; - DE4201A67D1FE3CEFFEA2A53 /* Pods-sampleTests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug production.xcconfig"; sourceTree = ""; }; + D651BA740EE9ABE805DA5520 /* Pods-sample-sampleKIFUITests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release production.xcconfig"; sourceTree = ""; }; + E0D78A752A26BB2CC5D20940 /* Pods-sampleTests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug staging.xcconfig"; sourceTree = ""; }; E4C58806C2B28AED0873F8AF /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; + E4CA6EE0692AC0F21D175EB7 /* Pods_sample_sampleKIFUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample_sampleKIFUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; EFAE58D40BFE459B1184D994 /* KIF+Swift.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "KIF+Swift.swift"; sourceTree = ""; }; EFE5D281FD0FFFF44FC92B04 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; F5B819017A28FE15B242BB5B /* Typealiases.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Typealiases.swift; sourceTree = ""; }; + F8424969C7F49575523EB8BE /* Pods-sample.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release production.xcconfig"; sourceTree = ""; }; F854F7439696BB6B30145F6D /* ReleaseStaging.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = ReleaseStaging.xcconfig; sourceTree = ""; }; - F94F00B1E2A587A7ECF045F8 /* Pods_sampleTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sampleTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; F9816C413C0D0DD7B01BA9CE /* Navigator+Transition.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Navigator+Transition.swift"; sourceTree = ""; }; FB7E8789ADE1FB388671EEB3 /* sample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = sample.app; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ @@ -141,7 +141,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 5555149F33EDE4CE3A6EE4A4 /* Pods_sample_sampleKIFUITests.framework in Frameworks */, + 68B12E228934F0E110AA33AB /* Pods_sample_sampleKIFUITests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -149,7 +149,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 218CD79EFDEE072270CD626F /* Pods_sampleTests.framework in Frameworks */, + 6F9F80B82043C47A34AEE6EC /* Pods_sampleTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -157,7 +157,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 11D0C7EAA95648DAD2283F03 /* Pods_sample.framework in Frameworks */, + 3FA2A165A1E27C07536FDF2B /* Pods_sample.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -225,26 +225,6 @@ path = Extensions; sourceTree = ""; }; - 452A366865D54EF15CEF44ED /* Pods */ = { - isa = PBXGroup; - children = ( - 5151B8C8A213E89C3827E274 /* Pods-sample.debug production.xcconfig */, - C2F81FD1A9BB4BCF565142DC /* Pods-sample.debug staging.xcconfig */, - D4CFF1B57083D1F30993E73E /* Pods-sample.release production.xcconfig */, - 515FD22EE9E7CEE61B429373 /* Pods-sample.release staging.xcconfig */, - A7BA210A2E84AB72B00BE5F9 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */, - 7EE1BC44E046425631313AFC /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */, - CD59FB5D02C78BBEBE248A78 /* Pods-sample-sampleKIFUITests.release production.xcconfig */, - C2E5D39B0F4DDFCEEC0A121E /* Pods-sample-sampleKIFUITests.release staging.xcconfig */, - DE4201A67D1FE3CEFFEA2A53 /* Pods-sampleTests.debug production.xcconfig */, - 3AC5A412E8996DED966AA0ED /* Pods-sampleTests.debug staging.xcconfig */, - CB225E0D39E781EBB3595409 /* Pods-sampleTests.release production.xcconfig */, - 7C17844C25BBBB33C89EE095 /* Pods-sampleTests.release staging.xcconfig */, - ); - name = Pods; - path = Pods; - sourceTree = ""; - }; 454866F5B65E9AFC4B512241 /* Dummy */ = { isa = PBXGroup; children = ( @@ -281,9 +261,9 @@ 52B072A663159D9D007D540F /* Frameworks */ = { isa = PBXGroup; children = ( - 3F3AC190292139515F002A6A /* Pods_sample.framework */, - 5FE67229BB57BA5250060FC4 /* Pods_sample_sampleKIFUITests.framework */, - F94F00B1E2A587A7ECF045F8 /* Pods_sampleTests.framework */, + 36D24E8247D40F3CED0AA3C9 /* Pods_sample.framework */, + E4CA6EE0692AC0F21D175EB7 /* Pods_sample_sampleKIFUITests.framework */, + BFA6331E89EDE31A5BFEA878 /* Pods_sampleTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -318,7 +298,7 @@ 9B7CF20BE2915B62911C62AA /* Project */, 52B072A663159D9D007D540F /* Frameworks */, 372816F20EC291B850EECF1F /* Products */, - 452A366865D54EF15CEF44ED /* Pods */, + D6D41388438EE5D1E23CB9AE /* Pods */, ); sourceTree = ""; }; @@ -510,6 +490,26 @@ path = Resources; sourceTree = ""; }; + D6D41388438EE5D1E23CB9AE /* Pods */ = { + isa = PBXGroup; + children = ( + 79083F68C32F281B15682EE5 /* Pods-sample.debug production.xcconfig */, + 99FF1757D9A836A0045316A2 /* Pods-sample.debug staging.xcconfig */, + F8424969C7F49575523EB8BE /* Pods-sample.release production.xcconfig */, + AE0C8B45C1E213F7A3A380C6 /* Pods-sample.release staging.xcconfig */, + BB79CBE247C1C54FCDAE1DC8 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */, + 1876ACD2BBBB16A8FB7F2988 /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */, + D651BA740EE9ABE805DA5520 /* Pods-sample-sampleKIFUITests.release production.xcconfig */, + 6D3DD73BA98E2261351F53AD /* Pods-sample-sampleKIFUITests.release staging.xcconfig */, + 599AB102E374D8AB9E60B045 /* Pods-sampleTests.debug production.xcconfig */, + E0D78A752A26BB2CC5D20940 /* Pods-sampleTests.debug staging.xcconfig */, + 6C1A42CCDFF9DFC5ADF7F560 /* Pods-sampleTests.release production.xcconfig */, + 4881DDC4F01A652240F53071 /* Pods-sampleTests.release staging.xcconfig */, + ); + name = Pods; + path = Pods; + sourceTree = ""; + }; D8D8D03D9F5A0C8DB7FBD330 /* sample */ = { isa = PBXGroup; children = ( @@ -570,7 +570,7 @@ isa = PBXNativeTarget; buildConfigurationList = 56FE2126489C1E87A2D918A3 /* Build configuration list for PBXNativeTarget "sample" */; buildPhases = ( - CF4C06295E6590AB6B6D72E8 /* [CP] Check Pods Manifest.lock */, + 8BC2DD8151C8DC98F0B6D507 /* [CP] Check Pods Manifest.lock */, B2B621CC2B1F4F58601CD98D /* Sourcery */, 7EB246CFC1E0CCBA652DC37E /* R.swift */, CF26733D03C8D33F8823EE1F /* SwiftLint */, @@ -580,7 +580,7 @@ 494614C33B509301DBBDAD42 /* Embed Frameworks */, 89C77BA3C707AD804F79284B /* Frameworks */, 843C67A8A78058B8D8B3D11E /* Copy GoogleService-Info.plist */, - E6AFC3391B4D6E8471056FD9 /* [CP] Embed Pods Frameworks */, + C741A91F97EBC8191F180181 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -595,12 +595,12 @@ isa = PBXNativeTarget; buildConfigurationList = 31E84C030BDB7A39BCE38D8C /* Build configuration list for PBXNativeTarget "sampleKIFUITests" */; buildPhases = ( - B6680F06961AD9FDAC9CCF1C /* [CP] Check Pods Manifest.lock */, + 862CE5EF7E6035F3673DFAC2 /* [CP] Check Pods Manifest.lock */, 21ADDF0B071B770FFB6A086A /* Sources */, 43218B877C978B4CA5B93235 /* Resources */, 392BFB718CBF57CF0D23848E /* Embed Frameworks */, 29CEF4F9FF315D4254B8BC69 /* Frameworks */, - 39687A17EEC7C865C0F8E530 /* [CP] Embed Pods Frameworks */, + 030EC8D8D98B5143B7B6C9A1 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -616,13 +616,13 @@ isa = PBXNativeTarget; buildConfigurationList = C3875EBB5A0F6612B3515A13 /* Build configuration list for PBXNativeTarget "sampleTests" */; buildPhases = ( - C14AABDCBBEBD218DAD3980A /* [CP] Check Pods Manifest.lock */, + 8D0253165D760E614984CACF /* [CP] Check Pods Manifest.lock */, 2F7B6AB35D89AA83D514ECC2 /* SwiftFormat */, 9344943859735CAEA8DDB048 /* Sources */, E472A2AC48FE9588146AB254 /* Resources */, 51D3263E7013F91DCDB0D884 /* Embed Frameworks */, 7A7AFF7C6576A774E896CA81 /* Frameworks */, - E261C2F5F089C773ECBAACE3 /* [CP] Embed Pods Frameworks */, + 1846D8A260F289361601ACE9 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -703,44 +703,42 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 2F7B6AB35D89AA83D514ECC2 /* SwiftFormat */ = { + 030EC8D8D98B5143B7B6C9A1 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - ); - name = SwiftFormat; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - ); - outputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "if [ -z \"$CI\" ]; then\n \"${PODS_ROOT}/SwiftFormat/CommandLineTool/swiftformat\" \"$SRCROOT\"\nfi"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks.sh\"\n"; + showEnvVarsInLog = 0; }; - 39687A17EEC7C865C0F8E530 /* [CP] Embed Pods Frameworks */ = { + 1846D8A260F289361601ACE9 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-input-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 7EB246CFC1E0CCBA652DC37E /* R.swift */ = { + 2F7B6AB35D89AA83D514ECC2 /* SwiftFormat */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); @@ -748,18 +746,18 @@ ); inputPaths = ( ); - name = R.swift; + name = SwiftFormat; outputFileListPaths = ( ); outputPaths = ( - "$SRCROOT/$PROJECT_NAME/Sources/Supports/Helpers/Rswift/R.generated.swift", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"$PODS_ROOT/R.swift/rswift\" generate \"$SRCROOT/$PROJECT_NAME/Sources/Supports/Helpers/Rswift/R.generated.swift\""; + shellScript = "if [ -z \"$CI\" ]; then\n \"${PODS_ROOT}/SwiftFormat/CommandLineTool/swiftformat\" \"$SRCROOT\"\nfi"; }; - 843C67A8A78058B8D8B3D11E /* Copy GoogleService-Info.plist */ = { + 7EB246CFC1E0CCBA652DC37E /* R.swift */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); @@ -767,16 +765,17 @@ ); inputPaths = ( ); - name = "Copy GoogleService-Info.plist"; + name = R.swift; outputFileListPaths = ( ); outputPaths = ( + "$SRCROOT/$PROJECT_NAME/Sources/Supports/Helpers/Rswift/R.generated.swift", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "PATH_TO_GOOGLE_PLISTS=\"$SRCROOT/$PROJECT_NAME/Configurations/Plists/GoogleService\"\n\ncase \"${CONFIGURATION}\" in\n\"Debug Staging\" | \"Release Staging\" )\ncp -r \"$PATH_TO_GOOGLE_PLISTS/Staging/GoogleService-Info.plist\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist\"\n;;\n\"Debug Production\" | \"Release Production\" )\ncp -r \"$PATH_TO_GOOGLE_PLISTS/Production/GoogleService-Info.plist\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist\"\n;;\n*)\n;;\nesac"; + shellScript = "\"$PODS_ROOT/R.swift/rswift\" generate \"$SRCROOT/$PROJECT_NAME/Sources/Supports/Helpers/Rswift/R.generated.swift\""; }; - B2B621CC2B1F4F58601CD98D /* Sourcery */ = { + 843C67A8A78058B8D8B3D11E /* Copy GoogleService-Info.plist */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -785,16 +784,16 @@ ); inputPaths = ( ); - name = Sourcery; + name = "Copy GoogleService-Info.plist"; outputFileListPaths = ( ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"$PODS_ROOT/Sourcery/bin/sourcery\""; + shellScript = "PATH_TO_GOOGLE_PLISTS=\"$SRCROOT/$PROJECT_NAME/Configurations/Plists/GoogleService\"\n\ncase \"${CONFIGURATION}\" in\n\"Debug Staging\" | \"Release Staging\" )\ncp -r \"$PATH_TO_GOOGLE_PLISTS/Staging/GoogleService-Info.plist\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist\"\n;;\n\"Debug Production\" | \"Release Production\" )\ncp -r \"$PATH_TO_GOOGLE_PLISTS/Production/GoogleService-Info.plist\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist\"\n;;\n*)\n;;\nesac"; }; - B6680F06961AD9FDAC9CCF1C /* [CP] Check Pods Manifest.lock */ = { + 862CE5EF7E6035F3673DFAC2 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -816,7 +815,7 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - C14AABDCBBEBD218DAD3980A /* [CP] Check Pods Manifest.lock */ = { + 8BC2DD8151C8DC98F0B6D507 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -831,14 +830,14 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-sampleTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-sample-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - CF26733D03C8D33F8823EE1F /* SwiftLint */ = { + 8D0253165D760E614984CACF /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -846,17 +845,21 @@ inputFileListPaths = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); - name = SwiftLint; + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( ); outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-sampleTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "if [ -z \"$CI\" ]; then\n ${PODS_ROOT}/SwiftLint/swiftlint\nfi"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - CF4C06295E6590AB6B6D72E8 /* [CP] Check Pods Manifest.lock */ = { + B2B621CC2B1F4F58601CD98D /* Sourcery */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -864,53 +867,50 @@ inputFileListPaths = ( ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", ); - name = "[CP] Check Pods Manifest.lock"; + name = Sourcery; outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-sample-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "\"$PODS_ROOT/Sourcery/bin/sourcery\""; }; - E261C2F5F089C773ECBAACE3 /* [CP] Embed Pods Frameworks */ = { + C741A91F97EBC8191F180181 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - E6AFC3391B4D6E8471056FD9 /* [CP] Embed Pods Frameworks */ = { + CF26733D03C8D33F8823EE1F /* SwiftLint */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + ); + name = SwiftLint; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks.sh\"\n"; - showEnvVarsInLog = 0; + shellScript = "if [ -z \"$CI\" ]; then\n ${PODS_ROOT}/SwiftLint/swiftlint\nfi"; }; EF3878B82E1CD4611A640906 /* SwiftFormat Lint */ = { isa = PBXShellScriptBuildPhase; @@ -989,7 +989,7 @@ /* Begin XCBuildConfiguration section */ 21ACBFF0B81C5FE1926420D2 /* Debug Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A7BA210A2E84AB72B00BE5F9 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */; + baseConfigurationReference = BB79CBE247C1C54FCDAE1DC8 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1014,7 +1014,7 @@ }; 252EA76B363BC50D825D8BD6 /* Debug Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3AC5A412E8996DED966AA0ED /* Pods-sampleTests.debug staging.xcconfig */; + baseConfigurationReference = E0D78A752A26BB2CC5D20940 /* Pods-sampleTests.debug staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1039,7 +1039,7 @@ }; 388E6BE620787A06CA1CA7EE /* Release Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 515FD22EE9E7CEE61B429373 /* Pods-sample.release staging.xcconfig */; + baseConfigurationReference = AE0C8B45C1E213F7A3A380C6 /* Pods-sample.release staging.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1063,7 +1063,7 @@ }; 38F81F703A83D6A307430059 /* Release Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CD59FB5D02C78BBEBE248A78 /* Pods-sample-sampleKIFUITests.release production.xcconfig */; + baseConfigurationReference = D651BA740EE9ABE805DA5520 /* Pods-sample-sampleKIFUITests.release production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1087,7 +1087,7 @@ }; 3BEDFE87FC2F0AE206422087 /* Release Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CB225E0D39E781EBB3595409 /* Pods-sampleTests.release production.xcconfig */; + baseConfigurationReference = 6C1A42CCDFF9DFC5ADF7F560 /* Pods-sampleTests.release production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1111,7 +1111,7 @@ }; 3E22885F8CD58F60301062E2 /* Release Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C2E5D39B0F4DDFCEEC0A121E /* Pods-sample-sampleKIFUITests.release staging.xcconfig */; + baseConfigurationReference = 6D3DD73BA98E2261351F53AD /* Pods-sample-sampleKIFUITests.release staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1135,7 +1135,7 @@ }; 4C1D6824327C0FD7CA0FD5EA /* Release Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D4CFF1B57083D1F30993E73E /* Pods-sample.release production.xcconfig */; + baseConfigurationReference = F8424969C7F49575523EB8BE /* Pods-sample.release production.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1218,7 +1218,7 @@ }; 65EFF1C45B23F50B02803EAD /* Debug Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C2F81FD1A9BB4BCF565142DC /* Pods-sample.debug staging.xcconfig */; + baseConfigurationReference = 99FF1757D9A836A0045316A2 /* Pods-sample.debug staging.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1243,7 +1243,7 @@ }; 944F5AFF63FDFD18DB25D45F /* Debug Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 5151B8C8A213E89C3827E274 /* Pods-sample.debug production.xcconfig */; + baseConfigurationReference = 79083F68C32F281B15682EE5 /* Pods-sample.debug production.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1268,7 +1268,7 @@ }; A6CE62F8A695FBBC221E4690 /* Debug Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DE4201A67D1FE3CEFFEA2A53 /* Pods-sampleTests.debug production.xcconfig */; + baseConfigurationReference = 599AB102E374D8AB9E60B045 /* Pods-sampleTests.debug production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1293,7 +1293,7 @@ }; B7E6733E7030283A3E74681B /* Debug Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7EE1BC44E046425631313AFC /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */; + baseConfigurationReference = 1876ACD2BBBB16A8FB7F2988 /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1371,7 +1371,7 @@ }; BD91BBB9D406D96A13EB8291 /* Release Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7C17844C25BBBB33C89EE095 /* Pods-sampleTests.release staging.xcconfig */; + baseConfigurationReference = 4881DDC4F01A652240F53071 /* Pods-sampleTests.release staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; From 1bd97cf7ddc10f2458ee6ebf8ea01b14afde0946 Mon Sep 17 00:00:00 2001 From: team-nimblehq Date: Mon, 4 Dec 2023 05:20:01 +0000 Subject: [PATCH 24/25] [Chore] Generate & update sample project --- sample/ios/Gemfile.lock | 8 +- sample/ios/sample.xcodeproj/project.pbxproj | 225 ++++++++++---------- 2 files changed, 114 insertions(+), 119 deletions(-) diff --git a/sample/ios/Gemfile.lock b/sample/ios/Gemfile.lock index b312382b..598d52f5 100644 --- a/sample/ios/Gemfile.lock +++ b/sample/ios/Gemfile.lock @@ -93,7 +93,7 @@ GEM connection_pool (2.4.1) cork (0.3.0) colored2 (~> 3.1) - danger (9.4.0) + danger (9.4.1) claide (~> 1.0) claide-plugins (>= 0.9.2) colored2 (~> 3.1) @@ -104,7 +104,7 @@ GEM kramdown (~> 2.3) kramdown-parser-gfm (~> 1.0) no_proxy_fix - octokit (>= 6.0, < 8.0) + octokit (>= 6.0) terminal-table (>= 1, < 4) danger-plugin-api (1.0.0) danger (> 2.0) @@ -258,7 +258,7 @@ GEM i18n (1.14.1) concurrent-ruby (~> 1.0) jmespath (1.6.2) - json (2.6.3) + json (2.7.0) jwt (2.7.1) kramdown (2.4.0) rexml @@ -276,7 +276,7 @@ GEM naturally (2.2.1) netrc (0.11.0) no_proxy_fix (0.1.2) - octokit (7.2.0) + octokit (8.0.0) faraday (>= 1, < 3) sawyer (~> 0.9) open4 (1.3.4) diff --git a/sample/ios/sample.xcodeproj/project.pbxproj b/sample/ios/sample.xcodeproj/project.pbxproj index 7df26304..eb79b4c9 100644 --- a/sample/ios/sample.xcodeproj/project.pbxproj +++ b/sample/ios/sample.xcodeproj/project.pbxproj @@ -14,23 +14,21 @@ 20FF012BAC088FFC92962E28 /* UIView+Subviews.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDBCDCBA1D855D7023A0342F /* UIView+Subviews.swift */; }; 33209CEB34C04BC32D0FFDD4 /* UseCaseFactoryProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CA52B4C8C3AF1CB2181C14D /* UseCaseFactoryProtocol.swift */; }; 3559AC5988194A4701902F80 /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = 302BB730B8D0BF901FF489B6 /* .gitkeep */; }; - 3FA2A165A1E27C07536FDF2B /* Pods_sample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 36D24E8247D40F3CED0AA3C9 /* Pods_sample.framework */; }; + 3BCFBEB957E7CF7E97120396 /* Pods_sample_sampleKIFUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6EC9B7AE5D24C9D4B901E24C /* Pods_sample_sampleKIFUITests.framework */; }; 53157A77A8B802D108AE9D73 /* Typealiases.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5B819017A28FE15B242BB5B /* Typealiases.swift */; }; 66C817ACCA7CE15ABF58BC06 /* HomeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBD1568B768046A18E011F2C /* HomeViewController.swift */; }; - 68B12E228934F0E110AA33AB /* Pods_sample_sampleKIFUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4CA6EE0692AC0F21D175EB7 /* Pods_sample_sampleKIFUITests.framework */; }; - 6F9F80B82043C47A34AEE6EC /* Pods_sampleTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BFA6331E89EDE31A5BFEA878 /* Pods_sampleTests.framework */; }; 701258D40CE69EC8168A3D12 /* AutoMockable.generated.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBF1B234787FCD92142B105D /* AutoMockable.generated.swift */; }; 7CF0F8933FB47F5D003383AA /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = 41210B648761A8DC4ABD3BB9 /* .gitkeep */; }; 7ED0E12DA355DEE8EED0B614 /* Color+Application.swift in Sources */ = {isa = PBXBuildFile; fileRef = A29F97F67192DE9B66E872E6 /* Color+Application.swift */; }; 840CF0D3913B0069F0F2FF12 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D2F657F289C5314152FFCFA2 /* Assets.xcassets */; }; - 8A339C105AE529C0E00A1A84 /* Pods_sample_sampleKIFUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CAAF6ADA0D8AC3560AEACE7E /* Pods_sample_sampleKIFUITests.framework */; }; 8A43095CEA3F4C83584AB199 /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = 05F57F86A37A0E0B6CC54CB4 /* .gitkeep */; }; 9726C56684473F7E78415A58 /* Navigator+Scene.swift in Sources */ = {isa = PBXBuildFile; fileRef = A64B0E7B034D526205048030 /* Navigator+Scene.swift */; }; 9ACA6A5E938E3365302C3749 /* Navigator.swift in Sources */ = {isa = PBXBuildFile; fileRef = C159B27C88C08E8AEB22AFD4 /* Navigator.swift */; }; - A42E84F5CF8BB978DF0AAD74 /* Pods_sample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C0386D8BB0B951821215E276 /* Pods_sample.framework */; }; BA754F29AB917D745895322D /* Constants+API.swift in Sources */ = {isa = PBXBuildFile; fileRef = 222B1BD9F71FF1797F160231 /* Constants+API.swift */; }; + BADCAAD1AF51A43F586CCFE1 /* Pods_sampleTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 16C5835F74FDC2ED3334E51C /* Pods_sampleTests.framework */; }; C152F2B63E42238BE4F20592 /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82F5C2293A2DB24CDCA81957 /* Constants.swift */; }; CA324314BE7318252E4D5D62 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 6952456309E29C9609D23B3F /* LaunchScreen.storyboard */; }; + D21F4CD3A5B9A0E4C88EBDBA /* Pods_sample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AACF2FD98900D4A4C15B0045 /* Pods_sample.framework */; }; D609A7DCE8B3E7A49CFACC2E /* Navigator+Transition.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9816C413C0D0DD7B01BA9CE /* Navigator+Transition.swift */; }; DE665FDD6164065A881A2F44 /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = 67C0EA707F4FBB459FEBA640 /* .gitkeep */; }; F444409E14F8ED6BF6A2666A /* KIF+Swift.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFAE58D40BFE459B1184D994 /* KIF+Swift.swift */; }; @@ -90,52 +88,49 @@ /* Begin PBXFileReference section */ 04B8796D7472561BF8EB10A1 /* DebugProduction.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = DebugProduction.xcconfig; sourceTree = ""; }; 05F57F86A37A0E0B6CC54CB4 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; - 1876ACD2BBBB16A8FB7F2988 /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug staging.xcconfig"; sourceTree = ""; }; + 0AAC6C91103D4107281E2500 /* Pods-sampleTests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release production.xcconfig"; sourceTree = ""; }; + 16C5835F74FDC2ED3334E51C /* Pods_sampleTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sampleTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 18C176717B282B7A8842FC73 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; 1EEB8F8EE4393D2D9AC51316 /* R.generated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = R.generated.swift; sourceTree = ""; }; 222B1BD9F71FF1797F160231 /* Constants+API.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Constants+API.swift"; sourceTree = ""; }; 302BB730B8D0BF901FF489B6 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; - 36D24E8247D40F3CED0AA3C9 /* Pods_sample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 41210B648761A8DC4ABD3BB9 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; 414B86B12605C252A692EA37 /* sampleKIFUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = sampleKIFUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 4881DDC4F01A652240F53071 /* Pods-sampleTests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release staging.xcconfig"; sourceTree = ""; }; + 479D0BEE4A317303BBF2BDEA /* Pods-sample-sampleKIFUITests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release production.xcconfig"; sourceTree = ""; }; 562EF605C844B951CD47F38D /* Optional+Unwrap.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Optional+Unwrap.swift"; sourceTree = ""; }; - 599AB102E374D8AB9E60B045 /* Pods-sampleTests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug production.xcconfig"; sourceTree = ""; }; + 581D3105A57FBD3CA467256E /* Pods-sampleTests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug staging.xcconfig"; sourceTree = ""; }; + 60AA08E436A122B4E430D91A /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug staging.xcconfig"; sourceTree = ""; }; 6432B427D5097BCF75C4B15E /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 647A27AA39E9BC61DF5CC110 /* Pods-sample.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug staging.xcconfig"; sourceTree = ""; }; 67C0EA707F4FBB459FEBA640 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; 6952456309E29C9609D23B3F /* LaunchScreen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = ""; }; - 6C1A42CCDFF9DFC5ADF7F560 /* Pods-sampleTests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release production.xcconfig"; sourceTree = ""; }; - 6D3DD73BA98E2261351F53AD /* Pods-sample-sampleKIFUITests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release staging.xcconfig"; sourceTree = ""; }; - 79083F68C32F281B15682EE5 /* Pods-sample.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug production.xcconfig"; sourceTree = ""; }; + 6EC9B7AE5D24C9D4B901E24C /* Pods_sample_sampleKIFUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample_sampleKIFUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 82F5C2293A2DB24CDCA81957 /* Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = ""; }; + 8B5D38EE6C1FE66F99053D66 /* Pods-sample.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug staging.xcconfig"; sourceTree = ""; }; + 8C6760A6B02A17C273C5F5E9 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release staging.xcconfig"; sourceTree = ""; }; 8CA52B4C8C3AF1CB2181C14D /* UseCaseFactoryProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UseCaseFactoryProtocol.swift; sourceTree = ""; }; - 99FF1757D9A836A0045316A2 /* Pods-sample.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug staging.xcconfig"; sourceTree = ""; }; + 904A38A57396973EC676E2E7 /* Pods-sampleTests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release staging.xcconfig"; sourceTree = ""; }; + 948DC63B29D4E20305C58DB0 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug production.xcconfig"; sourceTree = ""; }; A29F97F67192DE9B66E872E6 /* Color+Application.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Color+Application.swift"; sourceTree = ""; }; A64B0E7B034D526205048030 /* Navigator+Scene.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Navigator+Scene.swift"; sourceTree = ""; }; + A90B95EF8BF663B98A10C42A /* Pods-sampleTests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug production.xcconfig"; sourceTree = ""; }; + A9628888631359F2A4125B89 /* Pods-sample.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug production.xcconfig"; sourceTree = ""; }; + AACF2FD98900D4A4C15B0045 /* Pods_sample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; ADE63A1C257C06E1D05C8136 /* DebugStaging.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = DebugStaging.xcconfig; sourceTree = ""; }; - AE0C8B45C1E213F7A3A380C6 /* Pods-sample.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release staging.xcconfig"; sourceTree = ""; }; B8847183C3FF3D70FE4192CD /* sampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = sampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - BB79CBE247C1C54FCDAE1DC8 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug production.xcconfig"; sourceTree = ""; }; BBD1568B768046A18E011F2C /* HomeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeViewController.swift; sourceTree = ""; }; BBF1B234787FCD92142B105D /* AutoMockable.generated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutoMockable.generated.swift; sourceTree = ""; }; BD9D9C9A495C5EA0AE9039C6 /* ReleaseProduction.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = ReleaseProduction.xcconfig; sourceTree = ""; }; - BFA6331E89EDE31A5BFEA878 /* Pods_sampleTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sampleTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; C159B27C88C08E8AEB22AFD4 /* Navigator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Navigator.swift; sourceTree = ""; }; CD3A7C3AC94E15DEC4F12A85 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; CDBCDCBA1D855D7023A0342F /* UIView+Subviews.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIView+Subviews.swift"; sourceTree = ""; }; - D0878D95344DEB8A9B9FF7B9 /* Pods-sample.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release staging.xcconfig"; sourceTree = ""; }; D2D7345A2017D2D372785123 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; D2F657F289C5314152FFCFA2 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - D651BA740EE9ABE805DA5520 /* Pods-sample-sampleKIFUITests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release production.xcconfig"; sourceTree = ""; }; - E0D78A752A26BB2CC5D20940 /* Pods-sampleTests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug staging.xcconfig"; sourceTree = ""; }; + D78DB85F150222F857442C3F /* Pods-sample.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release production.xcconfig"; sourceTree = ""; }; E4C58806C2B28AED0873F8AF /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; - E4CA6EE0692AC0F21D175EB7 /* Pods_sample_sampleKIFUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample_sampleKIFUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; EFAE58D40BFE459B1184D994 /* KIF+Swift.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "KIF+Swift.swift"; sourceTree = ""; }; EFE5D281FD0FFFF44FC92B04 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; - F193E4BAA85237B1F637EB60 /* Pods-sampleTests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug production.xcconfig"; sourceTree = ""; }; F5B819017A28FE15B242BB5B /* Typealiases.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Typealiases.swift; sourceTree = ""; }; - F8424969C7F49575523EB8BE /* Pods-sample.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release production.xcconfig"; sourceTree = ""; }; + F6E111BC09AC3A7E67D8299C /* Pods-sample.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release staging.xcconfig"; sourceTree = ""; }; F854F7439696BB6B30145F6D /* ReleaseStaging.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = ReleaseStaging.xcconfig; sourceTree = ""; }; F9816C413C0D0DD7B01BA9CE /* Navigator+Transition.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Navigator+Transition.swift"; sourceTree = ""; }; FB7E8789ADE1FB388671EEB3 /* sample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = sample.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -146,7 +141,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 68B12E228934F0E110AA33AB /* Pods_sample_sampleKIFUITests.framework in Frameworks */, + 3BCFBEB957E7CF7E97120396 /* Pods_sample_sampleKIFUITests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -154,7 +149,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 6F9F80B82043C47A34AEE6EC /* Pods_sampleTests.framework in Frameworks */, + BADCAAD1AF51A43F586CCFE1 /* Pods_sampleTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -162,7 +157,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 3FA2A165A1E27C07536FDF2B /* Pods_sample.framework in Frameworks */, + D21F4CD3A5B9A0E4C88EBDBA /* Pods_sample.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -195,6 +190,26 @@ path = Modules; sourceTree = ""; }; + 14A063906A9257FFA545BB32 /* Pods */ = { + isa = PBXGroup; + children = ( + A9628888631359F2A4125B89 /* Pods-sample.debug production.xcconfig */, + 8B5D38EE6C1FE66F99053D66 /* Pods-sample.debug staging.xcconfig */, + D78DB85F150222F857442C3F /* Pods-sample.release production.xcconfig */, + F6E111BC09AC3A7E67D8299C /* Pods-sample.release staging.xcconfig */, + 948DC63B29D4E20305C58DB0 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */, + 60AA08E436A122B4E430D91A /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */, + 479D0BEE4A317303BBF2BDEA /* Pods-sample-sampleKIFUITests.release production.xcconfig */, + 8C6760A6B02A17C273C5F5E9 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */, + A90B95EF8BF663B98A10C42A /* Pods-sampleTests.debug production.xcconfig */, + 581D3105A57FBD3CA467256E /* Pods-sampleTests.debug staging.xcconfig */, + 0AAC6C91103D4107281E2500 /* Pods-sampleTests.release production.xcconfig */, + 904A38A57396973EC676E2E7 /* Pods-sampleTests.release staging.xcconfig */, + ); + name = Pods; + path = Pods; + sourceTree = ""; + }; 2003C041305A8015968A9294 /* Plists */ = { isa = PBXGroup; children = ( @@ -266,9 +281,9 @@ 52B072A663159D9D007D540F /* Frameworks */ = { isa = PBXGroup; children = ( - 36D24E8247D40F3CED0AA3C9 /* Pods_sample.framework */, - E4CA6EE0692AC0F21D175EB7 /* Pods_sample_sampleKIFUITests.framework */, - BFA6331E89EDE31A5BFEA878 /* Pods_sampleTests.framework */, + AACF2FD98900D4A4C15B0045 /* Pods_sample.framework */, + 6EC9B7AE5D24C9D4B901E24C /* Pods_sample_sampleKIFUITests.framework */, + 16C5835F74FDC2ED3334E51C /* Pods_sampleTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -303,7 +318,7 @@ 9B7CF20BE2915B62911C62AA /* Project */, 52B072A663159D9D007D540F /* Frameworks */, 372816F20EC291B850EECF1F /* Products */, - D6D41388438EE5D1E23CB9AE /* Pods */, + 14A063906A9257FFA545BB32 /* Pods */, ); sourceTree = ""; }; @@ -495,26 +510,6 @@ path = Resources; sourceTree = ""; }; - D6D41388438EE5D1E23CB9AE /* Pods */ = { - isa = PBXGroup; - children = ( - 79083F68C32F281B15682EE5 /* Pods-sample.debug production.xcconfig */, - 99FF1757D9A836A0045316A2 /* Pods-sample.debug staging.xcconfig */, - F8424969C7F49575523EB8BE /* Pods-sample.release production.xcconfig */, - AE0C8B45C1E213F7A3A380C6 /* Pods-sample.release staging.xcconfig */, - BB79CBE247C1C54FCDAE1DC8 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */, - 1876ACD2BBBB16A8FB7F2988 /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */, - D651BA740EE9ABE805DA5520 /* Pods-sample-sampleKIFUITests.release production.xcconfig */, - 6D3DD73BA98E2261351F53AD /* Pods-sample-sampleKIFUITests.release staging.xcconfig */, - 599AB102E374D8AB9E60B045 /* Pods-sampleTests.debug production.xcconfig */, - E0D78A752A26BB2CC5D20940 /* Pods-sampleTests.debug staging.xcconfig */, - 6C1A42CCDFF9DFC5ADF7F560 /* Pods-sampleTests.release production.xcconfig */, - 4881DDC4F01A652240F53071 /* Pods-sampleTests.release staging.xcconfig */, - ); - name = Pods; - path = Pods; - sourceTree = ""; - }; D8D8D03D9F5A0C8DB7FBD330 /* sample */ = { isa = PBXGroup; children = ( @@ -575,7 +570,7 @@ isa = PBXNativeTarget; buildConfigurationList = 56FE2126489C1E87A2D918A3 /* Build configuration list for PBXNativeTarget "sample" */; buildPhases = ( - 8BC2DD8151C8DC98F0B6D507 /* [CP] Check Pods Manifest.lock */, + 4A440B1C0B094B34E2E44600 /* [CP] Check Pods Manifest.lock */, B2B621CC2B1F4F58601CD98D /* Sourcery */, 7EB246CFC1E0CCBA652DC37E /* R.swift */, CF26733D03C8D33F8823EE1F /* SwiftLint */, @@ -585,7 +580,7 @@ 494614C33B509301DBBDAD42 /* Embed Frameworks */, 89C77BA3C707AD804F79284B /* Frameworks */, 843C67A8A78058B8D8B3D11E /* Copy GoogleService-Info.plist */, - C741A91F97EBC8191F180181 /* [CP] Embed Pods Frameworks */, + 1B8BC7A6E5D22871473D68EC /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -600,12 +595,12 @@ isa = PBXNativeTarget; buildConfigurationList = 31E84C030BDB7A39BCE38D8C /* Build configuration list for PBXNativeTarget "sampleKIFUITests" */; buildPhases = ( - 862CE5EF7E6035F3673DFAC2 /* [CP] Check Pods Manifest.lock */, + 8A4A807FFCCE8C0CE7A2D766 /* [CP] Check Pods Manifest.lock */, 21ADDF0B071B770FFB6A086A /* Sources */, 43218B877C978B4CA5B93235 /* Resources */, 392BFB718CBF57CF0D23848E /* Embed Frameworks */, 29CEF4F9FF315D4254B8BC69 /* Frameworks */, - 030EC8D8D98B5143B7B6C9A1 /* [CP] Embed Pods Frameworks */, + 126F30064C08B2D93A273AD9 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -621,13 +616,13 @@ isa = PBXNativeTarget; buildConfigurationList = C3875EBB5A0F6612B3515A13 /* Build configuration list for PBXNativeTarget "sampleTests" */; buildPhases = ( - 8D0253165D760E614984CACF /* [CP] Check Pods Manifest.lock */, + 11AC0D06288221E47B6630CA /* [CP] Check Pods Manifest.lock */, 2F7B6AB35D89AA83D514ECC2 /* SwiftFormat */, 9344943859735CAEA8DDB048 /* Sources */, E472A2AC48FE9588146AB254 /* Resources */, 51D3263E7013F91DCDB0D884 /* Embed Frameworks */, 7A7AFF7C6576A774E896CA81 /* Frameworks */, - 1846D8A260F289361601ACE9 /* [CP] Embed Pods Frameworks */, + 67F62F417085336AE9578252 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -708,7 +703,29 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 030EC8D8D98B5143B7B6C9A1 /* [CP] Embed Pods Frameworks */ = { + 11AC0D06288221E47B6630CA /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-sampleTests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 126F30064C08B2D93A273AD9 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -725,7 +742,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 1846D8A260F289361601ACE9 /* [CP] Embed Pods Frameworks */ = { + 1B8BC7A6E5D22871473D68EC /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -760,67 +777,66 @@ shellPath = /bin/sh; shellScript = "if [ -z \"$CI\" ]; then\n \"${PODS_ROOT}/SwiftFormat/CommandLineTool/swiftformat\" \"$SRCROOT\"\nfi"; }; - 7EB246CFC1E0CCBA652DC37E /* R.swift */ = { + 4A440B1C0B094B34E2E44600 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); - name = R.swift; + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( ); outputPaths = ( - "$SRCROOT/$PROJECT_NAME/Sources/Supports/Helpers/Rswift/R.generated.swift", + "$(DERIVED_FILE_DIR)/Pods-sample-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"$PODS_ROOT/R.swift/rswift\" generate \"$SRCROOT/$PROJECT_NAME/Sources/Supports/Helpers/Rswift/R.generated.swift\""; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - 843C67A8A78058B8D8B3D11E /* Copy GoogleService-Info.plist */ = { + 67F62F417085336AE9578252 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - ); - name = "Copy GoogleService-Info.plist"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - ); - outputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "PATH_TO_GOOGLE_PLISTS=\"$SRCROOT/$PROJECT_NAME/Configurations/Plists/GoogleService\"\n\ncase \"${CONFIGURATION}\" in\n\"Debug Staging\" | \"Release Staging\" )\ncp -r \"$PATH_TO_GOOGLE_PLISTS/Staging/GoogleService-Info.plist\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist\"\n;;\n\"Debug Production\" | \"Release Production\" )\ncp -r \"$PATH_TO_GOOGLE_PLISTS/Production/GoogleService-Info.plist\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist\"\n;;\n*)\n;;\nesac"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks.sh\"\n"; + showEnvVarsInLog = 0; }; - 862CE5EF7E6035F3673DFAC2 /* [CP] Check Pods Manifest.lock */ = { + 7EB246CFC1E0CCBA652DC37E /* R.swift */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", ); - name = "[CP] Check Pods Manifest.lock"; + name = R.swift; outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-sample-sampleKIFUITests-checkManifestLockResult.txt", + "$SRCROOT/$PROJECT_NAME/Sources/Supports/Helpers/Rswift/R.generated.swift", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "\"$PODS_ROOT/R.swift/rswift\" generate \"$SRCROOT/$PROJECT_NAME/Sources/Supports/Helpers/Rswift/R.generated.swift\""; }; - 8BC2DD8151C8DC98F0B6D507 /* [CP] Check Pods Manifest.lock */ = { + 843C67A8A78058B8D8B3D11E /* Copy GoogleService-Info.plist */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -828,21 +844,17 @@ inputFileListPaths = ( ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", ); - name = "[CP] Check Pods Manifest.lock"; + name = "Copy GoogleService-Info.plist"; outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-sample-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "PATH_TO_GOOGLE_PLISTS=\"$SRCROOT/$PROJECT_NAME/Configurations/Plists/GoogleService\"\n\ncase \"${CONFIGURATION}\" in\n\"Debug Staging\" | \"Release Staging\" )\ncp -r \"$PATH_TO_GOOGLE_PLISTS/Staging/GoogleService-Info.plist\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist\"\n;;\n\"Debug Production\" | \"Release Production\" )\ncp -r \"$PATH_TO_GOOGLE_PLISTS/Production/GoogleService-Info.plist\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist\"\n;;\n*)\n;;\nesac"; }; - 8D0253165D760E614984CACF /* [CP] Check Pods Manifest.lock */ = { + 8A4A807FFCCE8C0CE7A2D766 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -857,7 +869,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-sampleTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-sample-sampleKIFUITests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -882,23 +894,6 @@ shellPath = /bin/sh; shellScript = "\"$PODS_ROOT/Sourcery/bin/sourcery\""; }; - C741A91F97EBC8191F180181 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; CF26733D03C8D33F8823EE1F /* SwiftLint */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -994,7 +989,7 @@ /* Begin XCBuildConfiguration section */ 21ACBFF0B81C5FE1926420D2 /* Debug Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = BB79CBE247C1C54FCDAE1DC8 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */; + baseConfigurationReference = 948DC63B29D4E20305C58DB0 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1019,7 +1014,7 @@ }; 252EA76B363BC50D825D8BD6 /* Debug Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E0D78A752A26BB2CC5D20940 /* Pods-sampleTests.debug staging.xcconfig */; + baseConfigurationReference = 581D3105A57FBD3CA467256E /* Pods-sampleTests.debug staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1044,7 +1039,7 @@ }; 388E6BE620787A06CA1CA7EE /* Release Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AE0C8B45C1E213F7A3A380C6 /* Pods-sample.release staging.xcconfig */; + baseConfigurationReference = F6E111BC09AC3A7E67D8299C /* Pods-sample.release staging.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1068,7 +1063,7 @@ }; 38F81F703A83D6A307430059 /* Release Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D651BA740EE9ABE805DA5520 /* Pods-sample-sampleKIFUITests.release production.xcconfig */; + baseConfigurationReference = 479D0BEE4A317303BBF2BDEA /* Pods-sample-sampleKIFUITests.release production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1092,7 +1087,7 @@ }; 3BEDFE87FC2F0AE206422087 /* Release Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6C1A42CCDFF9DFC5ADF7F560 /* Pods-sampleTests.release production.xcconfig */; + baseConfigurationReference = 0AAC6C91103D4107281E2500 /* Pods-sampleTests.release production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1116,7 +1111,7 @@ }; 3E22885F8CD58F60301062E2 /* Release Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6D3DD73BA98E2261351F53AD /* Pods-sample-sampleKIFUITests.release staging.xcconfig */; + baseConfigurationReference = 8C6760A6B02A17C273C5F5E9 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1140,7 +1135,7 @@ }; 4C1D6824327C0FD7CA0FD5EA /* Release Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F8424969C7F49575523EB8BE /* Pods-sample.release production.xcconfig */; + baseConfigurationReference = D78DB85F150222F857442C3F /* Pods-sample.release production.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1223,7 +1218,7 @@ }; 65EFF1C45B23F50B02803EAD /* Debug Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 99FF1757D9A836A0045316A2 /* Pods-sample.debug staging.xcconfig */; + baseConfigurationReference = 8B5D38EE6C1FE66F99053D66 /* Pods-sample.debug staging.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1248,7 +1243,7 @@ }; 944F5AFF63FDFD18DB25D45F /* Debug Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 79083F68C32F281B15682EE5 /* Pods-sample.debug production.xcconfig */; + baseConfigurationReference = A9628888631359F2A4125B89 /* Pods-sample.debug production.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1273,7 +1268,7 @@ }; A6CE62F8A695FBBC221E4690 /* Debug Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 599AB102E374D8AB9E60B045 /* Pods-sampleTests.debug production.xcconfig */; + baseConfigurationReference = A90B95EF8BF663B98A10C42A /* Pods-sampleTests.debug production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1298,7 +1293,7 @@ }; B7E6733E7030283A3E74681B /* Debug Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1876ACD2BBBB16A8FB7F2988 /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */; + baseConfigurationReference = 60AA08E436A122B4E430D91A /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1376,7 +1371,7 @@ }; BD91BBB9D406D96A13EB8291 /* Release Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4881DDC4F01A652240F53071 /* Pods-sampleTests.release staging.xcconfig */; + baseConfigurationReference = 904A38A57396973EC676E2E7 /* Pods-sampleTests.release staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; From b0752a118fe5f18ca2e6c66eee4e03a76eb4b76a Mon Sep 17 00:00:00 2001 From: team-nimblehq Date: Tue, 5 Dec 2023 09:30:03 +0000 Subject: [PATCH 25/25] [Chore] Generate & update sample project --- sample/ios/Gemfile.lock | 8 +- sample/ios/sample.xcodeproj/project.pbxproj | 238 ++++++++++---------- 2 files changed, 123 insertions(+), 123 deletions(-) diff --git a/sample/ios/Gemfile.lock b/sample/ios/Gemfile.lock index 598d52f5..6e04be28 100644 --- a/sample/ios/Gemfile.lock +++ b/sample/ios/Gemfile.lock @@ -18,14 +18,14 @@ GEM algoliasearch (1.27.5) httpclient (~> 2.8, >= 2.8.3) json (>= 1.5.1) - arkana (1.5.0) + arkana (1.6.0) dotenv (~> 2.7) rainbow (~> 3.1.1) yaml (~> 0.2) artifactory (3.0.15) atomos (0.1.3) aws-eventstream (1.3.0) - aws-partitions (1.862.0) + aws-partitions (1.863.0) aws-sdk-core (3.190.0) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.651.0) @@ -258,7 +258,7 @@ GEM i18n (1.14.1) concurrent-ruby (~> 1.0) jmespath (1.6.2) - json (2.7.0) + json (2.7.1) jwt (2.7.1) kramdown (2.4.0) rexml @@ -364,4 +364,4 @@ DEPENDENCIES xcov BUNDLED WITH - 2.4.21 + 2.4.19 diff --git a/sample/ios/sample.xcodeproj/project.pbxproj b/sample/ios/sample.xcodeproj/project.pbxproj index eb79b4c9..cd9d5b39 100644 --- a/sample/ios/sample.xcodeproj/project.pbxproj +++ b/sample/ios/sample.xcodeproj/project.pbxproj @@ -7,17 +7,19 @@ objects = { /* Begin PBXBuildFile section */ + 0495CEC5165F98925D7CABA4 /* Pods_sample_sampleKIFUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6CBE779400F74BA80DF07EB /* Pods_sample_sampleKIFUITests.framework */; }; 0B975608DEB5FC5F00024E82 /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = EFE5D281FD0FFFF44FC92B04 /* .gitkeep */; }; 0FCD70BBC15623E2843E571B /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = E4C58806C2B28AED0873F8AF /* .gitkeep */; }; 18B4C2A55909888C5D0EDFDA /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6432B427D5097BCF75C4B15E /* AppDelegate.swift */; }; 1F3B8CA45E426F2E4BA8A41C /* R.generated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EEB8F8EE4393D2D9AC51316 /* R.generated.swift */; }; 20FF012BAC088FFC92962E28 /* UIView+Subviews.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDBCDCBA1D855D7023A0342F /* UIView+Subviews.swift */; }; + 2D67B0DFE8E1CA3B5A07B5F0 /* Pods_sampleTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 355BE8BBCB766E70F98AC8A7 /* Pods_sampleTests.framework */; }; 33209CEB34C04BC32D0FFDD4 /* UseCaseFactoryProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CA52B4C8C3AF1CB2181C14D /* UseCaseFactoryProtocol.swift */; }; 3559AC5988194A4701902F80 /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = 302BB730B8D0BF901FF489B6 /* .gitkeep */; }; - 3BCFBEB957E7CF7E97120396 /* Pods_sample_sampleKIFUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6EC9B7AE5D24C9D4B901E24C /* Pods_sample_sampleKIFUITests.framework */; }; 53157A77A8B802D108AE9D73 /* Typealiases.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5B819017A28FE15B242BB5B /* Typealiases.swift */; }; 66C817ACCA7CE15ABF58BC06 /* HomeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBD1568B768046A18E011F2C /* HomeViewController.swift */; }; 701258D40CE69EC8168A3D12 /* AutoMockable.generated.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBF1B234787FCD92142B105D /* AutoMockable.generated.swift */; }; + 761252DDEFFFABC668A50FE0 /* Pods_sample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4596CBEDDB3EA5762654E780 /* Pods_sample.framework */; }; 7CF0F8933FB47F5D003383AA /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = 41210B648761A8DC4ABD3BB9 /* .gitkeep */; }; 7ED0E12DA355DEE8EED0B614 /* Color+Application.swift in Sources */ = {isa = PBXBuildFile; fileRef = A29F97F67192DE9B66E872E6 /* Color+Application.swift */; }; 840CF0D3913B0069F0F2FF12 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D2F657F289C5314152FFCFA2 /* Assets.xcassets */; }; @@ -25,10 +27,8 @@ 9726C56684473F7E78415A58 /* Navigator+Scene.swift in Sources */ = {isa = PBXBuildFile; fileRef = A64B0E7B034D526205048030 /* Navigator+Scene.swift */; }; 9ACA6A5E938E3365302C3749 /* Navigator.swift in Sources */ = {isa = PBXBuildFile; fileRef = C159B27C88C08E8AEB22AFD4 /* Navigator.swift */; }; BA754F29AB917D745895322D /* Constants+API.swift in Sources */ = {isa = PBXBuildFile; fileRef = 222B1BD9F71FF1797F160231 /* Constants+API.swift */; }; - BADCAAD1AF51A43F586CCFE1 /* Pods_sampleTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 16C5835F74FDC2ED3334E51C /* Pods_sampleTests.framework */; }; C152F2B63E42238BE4F20592 /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82F5C2293A2DB24CDCA81957 /* Constants.swift */; }; CA324314BE7318252E4D5D62 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 6952456309E29C9609D23B3F /* LaunchScreen.storyboard */; }; - D21F4CD3A5B9A0E4C88EBDBA /* Pods_sample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AACF2FD98900D4A4C15B0045 /* Pods_sample.framework */; }; D609A7DCE8B3E7A49CFACC2E /* Navigator+Transition.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9816C413C0D0DD7B01BA9CE /* Navigator+Transition.swift */; }; DE665FDD6164065A881A2F44 /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = 67C0EA707F4FBB459FEBA640 /* .gitkeep */; }; F444409E14F8ED6BF6A2666A /* KIF+Swift.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFAE58D40BFE459B1184D994 /* KIF+Swift.swift */; }; @@ -88,34 +88,34 @@ /* Begin PBXFileReference section */ 04B8796D7472561BF8EB10A1 /* DebugProduction.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = DebugProduction.xcconfig; sourceTree = ""; }; 05F57F86A37A0E0B6CC54CB4 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; - 0AAC6C91103D4107281E2500 /* Pods-sampleTests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release production.xcconfig"; sourceTree = ""; }; - 16C5835F74FDC2ED3334E51C /* Pods_sampleTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sampleTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 0BBA21280B9D11FA855F681B /* Pods-sampleTests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release production.xcconfig"; sourceTree = ""; }; + 104124B136B5272470D331C9 /* Pods-sample.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug production.xcconfig"; sourceTree = ""; }; 18C176717B282B7A8842FC73 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; 1EEB8F8EE4393D2D9AC51316 /* R.generated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = R.generated.swift; sourceTree = ""; }; + 219FF6F9112AF3E91F07A91E /* Pods-sampleTests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release staging.xcconfig"; sourceTree = ""; }; 222B1BD9F71FF1797F160231 /* Constants+API.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Constants+API.swift"; sourceTree = ""; }; + 2D0E7E2C5EE14CEBFC871796 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release staging.xcconfig"; sourceTree = ""; }; 302BB730B8D0BF901FF489B6 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; + 355BE8BBCB766E70F98AC8A7 /* Pods_sampleTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sampleTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 41210B648761A8DC4ABD3BB9 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; 414B86B12605C252A692EA37 /* sampleKIFUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = sampleKIFUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 479D0BEE4A317303BBF2BDEA /* Pods-sample-sampleKIFUITests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release production.xcconfig"; sourceTree = ""; }; + 4596CBEDDB3EA5762654E780 /* Pods_sample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 562EF605C844B951CD47F38D /* Optional+Unwrap.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Optional+Unwrap.swift"; sourceTree = ""; }; - 581D3105A57FBD3CA467256E /* Pods-sampleTests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug staging.xcconfig"; sourceTree = ""; }; - 60AA08E436A122B4E430D91A /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug staging.xcconfig"; sourceTree = ""; }; + 6202880F0852F9152109F11C /* Pods-sampleTests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug production.xcconfig"; sourceTree = ""; }; 6432B427D5097BCF75C4B15E /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 67C0EA707F4FBB459FEBA640 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; 6952456309E29C9609D23B3F /* LaunchScreen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = ""; }; - 6EC9B7AE5D24C9D4B901E24C /* Pods_sample_sampleKIFUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample_sampleKIFUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 7699F80647A1FC17D60855B2 /* Pods-sample-sampleKIFUITests.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release production.xcconfig"; sourceTree = ""; }; 82F5C2293A2DB24CDCA81957 /* Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = ""; }; - 8B5D38EE6C1FE66F99053D66 /* Pods-sample.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug staging.xcconfig"; sourceTree = ""; }; - 8C6760A6B02A17C273C5F5E9 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.release staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.release staging.xcconfig"; sourceTree = ""; }; 8CA52B4C8C3AF1CB2181C14D /* UseCaseFactoryProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UseCaseFactoryProtocol.swift; sourceTree = ""; }; - 904A38A57396973EC676E2E7 /* Pods-sampleTests.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.release staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.release staging.xcconfig"; sourceTree = ""; }; - 948DC63B29D4E20305C58DB0 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug production.xcconfig"; sourceTree = ""; }; + 90A2F4FF90AE0762AA3FCD4F /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug staging.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug staging.xcconfig"; sourceTree = ""; }; + 949E81C9A3D65DD3E2F9DB19 /* Pods-sample.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release production.xcconfig"; sourceTree = ""; }; A29F97F67192DE9B66E872E6 /* Color+Application.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Color+Application.swift"; sourceTree = ""; }; A64B0E7B034D526205048030 /* Navigator+Scene.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Navigator+Scene.swift"; sourceTree = ""; }; - A90B95EF8BF663B98A10C42A /* Pods-sampleTests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug production.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug production.xcconfig"; sourceTree = ""; }; - A9628888631359F2A4125B89 /* Pods-sample.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug production.xcconfig"; sourceTree = ""; }; - AACF2FD98900D4A4C15B0045 /* Pods_sample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + A7CF0B04683C4F8EC5509BEE /* Pods-sample-sampleKIFUITests.debug production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample-sampleKIFUITests.debug production.xcconfig"; path = "Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests.debug production.xcconfig"; sourceTree = ""; }; ADE63A1C257C06E1D05C8136 /* DebugStaging.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = DebugStaging.xcconfig; sourceTree = ""; }; + B6CBE779400F74BA80DF07EB /* Pods_sample_sampleKIFUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sample_sampleKIFUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B7C41116D460DF2604302F21 /* Pods-sample.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.debug staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.debug staging.xcconfig"; sourceTree = ""; }; B8847183C3FF3D70FE4192CD /* sampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = sampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; BBD1568B768046A18E011F2C /* HomeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeViewController.swift; sourceTree = ""; }; BBF1B234787FCD92142B105D /* AutoMockable.generated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutoMockable.generated.swift; sourceTree = ""; }; @@ -125,12 +125,12 @@ CDBCDCBA1D855D7023A0342F /* UIView+Subviews.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIView+Subviews.swift"; sourceTree = ""; }; D2D7345A2017D2D372785123 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; D2F657F289C5314152FFCFA2 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - D78DB85F150222F857442C3F /* Pods-sample.release production.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release production.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release production.xcconfig"; sourceTree = ""; }; + D8259AEE39D850B1D84C7D84 /* Pods-sample.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release staging.xcconfig"; sourceTree = ""; }; E4C58806C2B28AED0873F8AF /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; + ECB02330D3B4769CB72B35EE /* Pods-sampleTests.debug staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleTests.debug staging.xcconfig"; path = "Target Support Files/Pods-sampleTests/Pods-sampleTests.debug staging.xcconfig"; sourceTree = ""; }; EFAE58D40BFE459B1184D994 /* KIF+Swift.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "KIF+Swift.swift"; sourceTree = ""; }; EFE5D281FD0FFFF44FC92B04 /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = ""; }; F5B819017A28FE15B242BB5B /* Typealiases.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Typealiases.swift; sourceTree = ""; }; - F6E111BC09AC3A7E67D8299C /* Pods-sample.release staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sample.release staging.xcconfig"; path = "Target Support Files/Pods-sample/Pods-sample.release staging.xcconfig"; sourceTree = ""; }; F854F7439696BB6B30145F6D /* ReleaseStaging.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = ReleaseStaging.xcconfig; sourceTree = ""; }; F9816C413C0D0DD7B01BA9CE /* Navigator+Transition.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Navigator+Transition.swift"; sourceTree = ""; }; FB7E8789ADE1FB388671EEB3 /* sample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = sample.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -141,7 +141,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 3BCFBEB957E7CF7E97120396 /* Pods_sample_sampleKIFUITests.framework in Frameworks */, + 0495CEC5165F98925D7CABA4 /* Pods_sample_sampleKIFUITests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -149,7 +149,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - BADCAAD1AF51A43F586CCFE1 /* Pods_sampleTests.framework in Frameworks */, + 2D67B0DFE8E1CA3B5A07B5F0 /* Pods_sampleTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -157,7 +157,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D21F4CD3A5B9A0E4C88EBDBA /* Pods_sample.framework in Frameworks */, + 761252DDEFFFABC668A50FE0 /* Pods_sample.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -190,21 +190,21 @@ path = Modules; sourceTree = ""; }; - 14A063906A9257FFA545BB32 /* Pods */ = { + 12C5C0AF3364368EA87F3F19 /* Pods */ = { isa = PBXGroup; children = ( - A9628888631359F2A4125B89 /* Pods-sample.debug production.xcconfig */, - 8B5D38EE6C1FE66F99053D66 /* Pods-sample.debug staging.xcconfig */, - D78DB85F150222F857442C3F /* Pods-sample.release production.xcconfig */, - F6E111BC09AC3A7E67D8299C /* Pods-sample.release staging.xcconfig */, - 948DC63B29D4E20305C58DB0 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */, - 60AA08E436A122B4E430D91A /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */, - 479D0BEE4A317303BBF2BDEA /* Pods-sample-sampleKIFUITests.release production.xcconfig */, - 8C6760A6B02A17C273C5F5E9 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */, - A90B95EF8BF663B98A10C42A /* Pods-sampleTests.debug production.xcconfig */, - 581D3105A57FBD3CA467256E /* Pods-sampleTests.debug staging.xcconfig */, - 0AAC6C91103D4107281E2500 /* Pods-sampleTests.release production.xcconfig */, - 904A38A57396973EC676E2E7 /* Pods-sampleTests.release staging.xcconfig */, + 104124B136B5272470D331C9 /* Pods-sample.debug production.xcconfig */, + B7C41116D460DF2604302F21 /* Pods-sample.debug staging.xcconfig */, + 949E81C9A3D65DD3E2F9DB19 /* Pods-sample.release production.xcconfig */, + D8259AEE39D850B1D84C7D84 /* Pods-sample.release staging.xcconfig */, + A7CF0B04683C4F8EC5509BEE /* Pods-sample-sampleKIFUITests.debug production.xcconfig */, + 90A2F4FF90AE0762AA3FCD4F /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */, + 7699F80647A1FC17D60855B2 /* Pods-sample-sampleKIFUITests.release production.xcconfig */, + 2D0E7E2C5EE14CEBFC871796 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */, + 6202880F0852F9152109F11C /* Pods-sampleTests.debug production.xcconfig */, + ECB02330D3B4769CB72B35EE /* Pods-sampleTests.debug staging.xcconfig */, + 0BBA21280B9D11FA855F681B /* Pods-sampleTests.release production.xcconfig */, + 219FF6F9112AF3E91F07A91E /* Pods-sampleTests.release staging.xcconfig */, ); name = Pods; path = Pods; @@ -281,9 +281,9 @@ 52B072A663159D9D007D540F /* Frameworks */ = { isa = PBXGroup; children = ( - AACF2FD98900D4A4C15B0045 /* Pods_sample.framework */, - 6EC9B7AE5D24C9D4B901E24C /* Pods_sample_sampleKIFUITests.framework */, - 16C5835F74FDC2ED3334E51C /* Pods_sampleTests.framework */, + 4596CBEDDB3EA5762654E780 /* Pods_sample.framework */, + B6CBE779400F74BA80DF07EB /* Pods_sample_sampleKIFUITests.framework */, + 355BE8BBCB766E70F98AC8A7 /* Pods_sampleTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -318,7 +318,7 @@ 9B7CF20BE2915B62911C62AA /* Project */, 52B072A663159D9D007D540F /* Frameworks */, 372816F20EC291B850EECF1F /* Products */, - 14A063906A9257FFA545BB32 /* Pods */, + 12C5C0AF3364368EA87F3F19 /* Pods */, ); sourceTree = ""; }; @@ -570,7 +570,7 @@ isa = PBXNativeTarget; buildConfigurationList = 56FE2126489C1E87A2D918A3 /* Build configuration list for PBXNativeTarget "sample" */; buildPhases = ( - 4A440B1C0B094B34E2E44600 /* [CP] Check Pods Manifest.lock */, + E67EA2C09944F600A7A4433F /* [CP] Check Pods Manifest.lock */, B2B621CC2B1F4F58601CD98D /* Sourcery */, 7EB246CFC1E0CCBA652DC37E /* R.swift */, CF26733D03C8D33F8823EE1F /* SwiftLint */, @@ -580,7 +580,7 @@ 494614C33B509301DBBDAD42 /* Embed Frameworks */, 89C77BA3C707AD804F79284B /* Frameworks */, 843C67A8A78058B8D8B3D11E /* Copy GoogleService-Info.plist */, - 1B8BC7A6E5D22871473D68EC /* [CP] Embed Pods Frameworks */, + FCE2330E514641FAF152E8EA /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -595,12 +595,12 @@ isa = PBXNativeTarget; buildConfigurationList = 31E84C030BDB7A39BCE38D8C /* Build configuration list for PBXNativeTarget "sampleKIFUITests" */; buildPhases = ( - 8A4A807FFCCE8C0CE7A2D766 /* [CP] Check Pods Manifest.lock */, + 76E5D1C42C0FCE74839E8756 /* [CP] Check Pods Manifest.lock */, 21ADDF0B071B770FFB6A086A /* Sources */, 43218B877C978B4CA5B93235 /* Resources */, 392BFB718CBF57CF0D23848E /* Embed Frameworks */, 29CEF4F9FF315D4254B8BC69 /* Frameworks */, - 126F30064C08B2D93A273AD9 /* [CP] Embed Pods Frameworks */, + B9AF22FB12EC568F35E452AE /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -616,13 +616,13 @@ isa = PBXNativeTarget; buildConfigurationList = C3875EBB5A0F6612B3515A13 /* Build configuration list for PBXNativeTarget "sampleTests" */; buildPhases = ( - 11AC0D06288221E47B6630CA /* [CP] Check Pods Manifest.lock */, + 242CC2B9FEA66B6EC6746F60 /* [CP] Check Pods Manifest.lock */, 2F7B6AB35D89AA83D514ECC2 /* SwiftFormat */, 9344943859735CAEA8DDB048 /* Sources */, E472A2AC48FE9588146AB254 /* Resources */, 51D3263E7013F91DCDB0D884 /* Embed Frameworks */, 7A7AFF7C6576A774E896CA81 /* Frameworks */, - 67F62F417085336AE9578252 /* [CP] Embed Pods Frameworks */, + D8AC8993FA1649A902943268 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -703,7 +703,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 11AC0D06288221E47B6630CA /* [CP] Check Pods Manifest.lock */ = { + 242CC2B9FEA66B6EC6746F60 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -725,42 +725,49 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 126F30064C08B2D93A273AD9 /* [CP] Embed Pods Frameworks */ = { + 2F7B6AB35D89AA83D514ECC2 /* SwiftFormat */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + ); + name = SwiftFormat; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks.sh\"\n"; - showEnvVarsInLog = 0; + shellScript = "if [ -z \"$CI\" ]; then\n \"${PODS_ROOT}/SwiftFormat/CommandLineTool/swiftformat\" \"$SRCROOT\"\nfi"; }; - 1B8BC7A6E5D22871473D68EC /* [CP] Embed Pods Frameworks */ = { + 76E5D1C42C0FCE74839E8756 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-sample-sampleKIFUITests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 2F7B6AB35D89AA83D514ECC2 /* SwiftFormat */ = { + 7EB246CFC1E0CCBA652DC37E /* R.swift */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); @@ -768,16 +775,17 @@ ); inputPaths = ( ); - name = SwiftFormat; + name = R.swift; outputFileListPaths = ( ); outputPaths = ( + "$SRCROOT/$PROJECT_NAME/Sources/Supports/Helpers/Rswift/R.generated.swift", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "if [ -z \"$CI\" ]; then\n \"${PODS_ROOT}/SwiftFormat/CommandLineTool/swiftformat\" \"$SRCROOT\"\nfi"; + shellScript = "\"$PODS_ROOT/R.swift/rswift\" generate \"$SRCROOT/$PROJECT_NAME/Sources/Supports/Helpers/Rswift/R.generated.swift\""; }; - 4A440B1C0B094B34E2E44600 /* [CP] Check Pods Manifest.lock */ = { + 843C67A8A78058B8D8B3D11E /* Copy GoogleService-Info.plist */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -785,58 +793,52 @@ inputFileListPaths = ( ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", ); - name = "[CP] Check Pods Manifest.lock"; + name = "Copy GoogleService-Info.plist"; outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-sample-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "PATH_TO_GOOGLE_PLISTS=\"$SRCROOT/$PROJECT_NAME/Configurations/Plists/GoogleService\"\n\ncase \"${CONFIGURATION}\" in\n\"Debug Staging\" | \"Release Staging\" )\ncp -r \"$PATH_TO_GOOGLE_PLISTS/Staging/GoogleService-Info.plist\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist\"\n;;\n\"Debug Production\" | \"Release Production\" )\ncp -r \"$PATH_TO_GOOGLE_PLISTS/Production/GoogleService-Info.plist\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist\"\n;;\n*)\n;;\nesac"; }; - 67F62F417085336AE9578252 /* [CP] Embed Pods Frameworks */ = { + B2B621CC2B1F4F58601CD98D /* Sourcery */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + ); + name = Sourcery; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks.sh\"\n"; - showEnvVarsInLog = 0; + shellScript = "\"$PODS_ROOT/Sourcery/bin/sourcery\""; }; - 7EB246CFC1E0CCBA652DC37E /* R.swift */ = { + B9AF22FB12EC568F35E452AE /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - ); - name = R.swift; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - ); - outputPaths = ( - "$SRCROOT/$PROJECT_NAME/Sources/Supports/Helpers/Rswift/R.generated.swift", + "${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"$PODS_ROOT/R.swift/rswift\" generate \"$SRCROOT/$PROJECT_NAME/Sources/Supports/Helpers/Rswift/R.generated.swift\""; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample-sampleKIFUITests/Pods-sample-sampleKIFUITests-frameworks.sh\"\n"; + showEnvVarsInLog = 0; }; - 843C67A8A78058B8D8B3D11E /* Copy GoogleService-Info.plist */ = { + CF26733D03C8D33F8823EE1F /* SwiftLint */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -845,38 +847,33 @@ ); inputPaths = ( ); - name = "Copy GoogleService-Info.plist"; + name = SwiftLint; outputFileListPaths = ( ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "PATH_TO_GOOGLE_PLISTS=\"$SRCROOT/$PROJECT_NAME/Configurations/Plists/GoogleService\"\n\ncase \"${CONFIGURATION}\" in\n\"Debug Staging\" | \"Release Staging\" )\ncp -r \"$PATH_TO_GOOGLE_PLISTS/Staging/GoogleService-Info.plist\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist\"\n;;\n\"Debug Production\" | \"Release Production\" )\ncp -r \"$PATH_TO_GOOGLE_PLISTS/Production/GoogleService-Info.plist\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist\"\n;;\n*)\n;;\nesac"; + shellScript = "if [ -z \"$CI\" ]; then\n ${PODS_ROOT}/SwiftLint/swiftlint\nfi"; }; - 8A4A807FFCCE8C0CE7A2D766 /* [CP] Check Pods Manifest.lock */ = { + D8AC8993FA1649A902943268 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-sample-sampleKIFUITests-checkManifestLockResult.txt", + "${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sampleTests/Pods-sampleTests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - B2B621CC2B1F4F58601CD98D /* Sourcery */ = { + E67EA2C09944F600A7A4433F /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -884,17 +881,21 @@ inputFileListPaths = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); - name = Sourcery; + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( ); outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-sample-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"$PODS_ROOT/Sourcery/bin/sourcery\""; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - CF26733D03C8D33F8823EE1F /* SwiftLint */ = { + EF3878B82E1CD4611A640906 /* SwiftFormat Lint */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -903,32 +904,31 @@ ); inputPaths = ( ); - name = SwiftLint; + name = "SwiftFormat Lint"; outputFileListPaths = ( ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "if [ -z \"$CI\" ]; then\n ${PODS_ROOT}/SwiftLint/swiftlint\nfi"; + shellScript = "if [ -z \"$CI\" ]; then\n \"${PODS_ROOT}/SwiftFormat/CommandLineTool/swiftformat\" \"$SRCROOT\" --lint --lenient\nfi"; }; - EF3878B82E1CD4611A640906 /* SwiftFormat Lint */ = { + FCE2330E514641FAF152E8EA /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - ); - name = "SwiftFormat Lint"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - ); - outputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "if [ -z \"$CI\" ]; then\n \"${PODS_ROOT}/SwiftFormat/CommandLineTool/swiftformat\" \"$SRCROOT\" --lint --lenient\nfi"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sample/Pods-sample-frameworks.sh\"\n"; + showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -989,7 +989,7 @@ /* Begin XCBuildConfiguration section */ 21ACBFF0B81C5FE1926420D2 /* Debug Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 948DC63B29D4E20305C58DB0 /* Pods-sample-sampleKIFUITests.debug production.xcconfig */; + baseConfigurationReference = A7CF0B04683C4F8EC5509BEE /* Pods-sample-sampleKIFUITests.debug production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1014,7 +1014,7 @@ }; 252EA76B363BC50D825D8BD6 /* Debug Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 581D3105A57FBD3CA467256E /* Pods-sampleTests.debug staging.xcconfig */; + baseConfigurationReference = ECB02330D3B4769CB72B35EE /* Pods-sampleTests.debug staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1039,7 +1039,7 @@ }; 388E6BE620787A06CA1CA7EE /* Release Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F6E111BC09AC3A7E67D8299C /* Pods-sample.release staging.xcconfig */; + baseConfigurationReference = D8259AEE39D850B1D84C7D84 /* Pods-sample.release staging.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1063,7 +1063,7 @@ }; 38F81F703A83D6A307430059 /* Release Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 479D0BEE4A317303BBF2BDEA /* Pods-sample-sampleKIFUITests.release production.xcconfig */; + baseConfigurationReference = 7699F80647A1FC17D60855B2 /* Pods-sample-sampleKIFUITests.release production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1087,7 +1087,7 @@ }; 3BEDFE87FC2F0AE206422087 /* Release Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0AAC6C91103D4107281E2500 /* Pods-sampleTests.release production.xcconfig */; + baseConfigurationReference = 0BBA21280B9D11FA855F681B /* Pods-sampleTests.release production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1111,7 +1111,7 @@ }; 3E22885F8CD58F60301062E2 /* Release Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 8C6760A6B02A17C273C5F5E9 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */; + baseConfigurationReference = 2D0E7E2C5EE14CEBFC871796 /* Pods-sample-sampleKIFUITests.release staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1135,7 +1135,7 @@ }; 4C1D6824327C0FD7CA0FD5EA /* Release Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D78DB85F150222F857442C3F /* Pods-sample.release production.xcconfig */; + baseConfigurationReference = 949E81C9A3D65DD3E2F9DB19 /* Pods-sample.release production.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1218,7 +1218,7 @@ }; 65EFF1C45B23F50B02803EAD /* Debug Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 8B5D38EE6C1FE66F99053D66 /* Pods-sample.debug staging.xcconfig */; + baseConfigurationReference = B7C41116D460DF2604302F21 /* Pods-sample.debug staging.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1243,7 +1243,7 @@ }; 944F5AFF63FDFD18DB25D45F /* Debug Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A9628888631359F2A4125B89 /* Pods-sample.debug production.xcconfig */; + baseConfigurationReference = 104124B136B5272470D331C9 /* Pods-sample.debug production.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1268,7 +1268,7 @@ }; A6CE62F8A695FBBC221E4690 /* Debug Production */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A90B95EF8BF663B98A10C42A /* Pods-sampleTests.debug production.xcconfig */; + baseConfigurationReference = 6202880F0852F9152109F11C /* Pods-sampleTests.debug production.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1293,7 +1293,7 @@ }; B7E6733E7030283A3E74681B /* Debug Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 60AA08E436A122B4E430D91A /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */; + baseConfigurationReference = 90A2F4FF90AE0762AA3FCD4F /* Pods-sample-sampleKIFUITests.debug staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1371,7 +1371,7 @@ }; BD91BBB9D406D96A13EB8291 /* Release Staging */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 904A38A57396973EC676E2E7 /* Pods-sampleTests.release staging.xcconfig */; + baseConfigurationReference = 219FF6F9112AF3E91F07A91E /* Pods-sampleTests.release staging.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "iPhone Developer";