nimblehq / kmm-templates

MIT License
2 stars 0 forks source link

[#30] Complete the script to generate the whole KMM project #47

Closed luongvo closed 10 months ago

luongvo commented 11 months ago

What happened 👀

Insight 📝

Proof Of Work 📹

I temporarily switched to generate the sample project with a custom package name as co.nimblehq.kmm.sample to demonstrate that the script can now generate the whole KMM project with entered inputs ✅

We will switch it back to co.nimblehq.kmm.template after having enough approvals.

Pasted_Image_02_11_2023__00_42
github-actions[bot] commented 11 months ago
23 Warnings
:warning: Big PR
:warning: Uh oh! ApiClient.kt is under 95% coverage!
:warning: Uh oh! ApiException.kt is under 95% coverage!
:warning: Uh oh! AppDestination.kt is under 95% coverage!
:warning: Uh oh! AppNavigation.kt is under 95% coverage!
:warning: Uh oh! AppStyles.kt is under 95% coverage!
:warning: Uh oh! BaseViewModel.kt is under 95% coverage!
:warning: Uh oh! DispatchersProviderImpl.kt is under 95% coverage!
:warning: Uh oh! ErrorMapping.kt is under 95% coverage!
:warning: Uh oh! FlowExt.kt is under 95% coverage!
:warning: Uh oh! HomeScreen.kt is under 95% coverage!
:warning: Uh oh! HttpRequestBuilderExtension.kt is under 95% coverage!
:warning: Uh oh! RemoteDataSource.kt is under 95% coverage!
:warning: Uh oh! Theme.kt is under 95% coverage!
:warning: Uh oh! UiModel.kt is under 95% coverage!
:warning: Uh oh! Your project is under 80% coverage!
:warning: android/src/main/java/co/nimblehq/kmm/sample/ui/screens/home/HomeScreen.kt#L66 - This expression contains a magic number. Consider defining it to a well named constant.
:warning: shared/src/androidMain/kotlin/co/nimblehq/kmm/sample/Platform.android.kt#L3 - The file name 'Platform.android' does not match the name of the single top-level declaration 'AndroidPlatform'.
:warning: shared/src/androidUnitTest/kotlin/co/nimblehq/kmm/sample/androidTest.kt#L6 - The file name 'androidTest' does not match the name of the single top-level declaration 'AndroidGreetingTest'.
:warning: shared/src/commonTest/kotlin/co/nimblehq/kmm/sample/commonTest.kt#L6 - The file name 'commonTest' does not match the name of the single top-level declaration 'CommonGreetingTest'.
:warning: shared/src/commonTest/kotlin/co/nimblehq/kmm/sample/extensions/ResponseMappingTest.kt#L18 - Exception is a too generic Exception. Prefer throwing specific exceptions that indicate a specific error case.
:warning: shared/src/iosMain/kotlin/co/nimblehq/kmm/sample/Platform.ios.kt#L5 - The file name 'Platform.ios' does not match the name of the single top-level declaration 'IOSPlatform'.
:warning: shared/src/iosTest/kotlin/co/nimblehq/kmm/sample/iosTest.kt#L6 - The file name 'iosTest' does not match the name of the single top-level declaration 'IosGreetingTest'.

Kover report:

🧛 Unit Tests Code Coverage: 59.92%

Coverage of Modified Files:

File Coverage
ApiClient.kt 0.00%
ApiException.kt 0.00%
AppColors.kt 98.11%
AppDestination.kt 83.87%
AppDimensions.kt 100.00%
AppNavigation.kt 52.63%
AppShapes.kt 100.00%
AppStyles.kt 0.00%
AppTypography.kt 100.00%
BaseViewModel.kt 73.91%
ContextExt.kt 100.00%
DispatchersProviderImpl.kt 0.00%
ErrorMapping.kt 88.00%
FlowExt.kt 76.19%
Greeting.kt 100.00%
HomeScreen.kt 64.16%
HomeViewModel.kt 100.00%
HttpRequestBuilderExtension.kt 0.00%
MainActivity.kt 100.00%
MainApplication.kt 100.00%
Model.kt 100.00%
Platform.android.kt 100.00%
RemoteDataSource.kt 0.00%
RepositoryImpl.kt 100.00%
Response.kt 100.00%
ResponseMapping.kt 100.00%
Theme.kt 46.09%
UiModel.kt 84.21%
UseCase.kt 100.00%

Modified Files Not Found In Coverage Report:

.gitmodules AppModule.kt BaseScreenTest.kt Constant.swift CoroutineTestRule.kt DebugProduction.xcconfig DebugStaging.xcconfig DispatchersProvider.kt Fake.kt Gemfile.lock HomeScreenTest.kt HomeViewModelTest.kt Koin.kt MockUtil.kt Platform.ios.kt Platform.kt PlatformModule.kt PlatformModule.kt PlatformModule.kt Podfile.lock README.md README.md ReleaseProduction.xcconfig ReleaseStaging.xcconfig RemoteModule.kt Repository.kt RepositoryModule.kt RepositoryTest.kt ResponseMappingTest.kt TypeAlias.kt UseCaseModule.kt UseCaseTest.kt ViewModelModule.kt android androidTest.kt build.gradle.kts build.gradle.kts buildKonfig.properties buildKonfig.properties.sample commonTest.kt iosTest.kt make.sh make_android.sh make_ios.sh make_shared.kts project.pbxproj settings.gradle.kts test.yml test.yml

Codebase cunningly covered by count Shroud 🧛

Generated by :no_entry_sign: Danger

github-actions[bot] commented 11 months ago
1 Warning
:warning: This pull request is quite big (968 lines changed), please consider splitting it into multiple pull requests.

SwiftFormat found issues:

File Rules
fastlane/Constants/Constant.swift:122:1 warning: (trailingSpace) Remove trailing space at end of a line.
fastlane/Constants/Constant.swift:129:1 warning: (trailingSpace) Remove trailing space at end of a line.
fastlane/Constants/Constant.swift:145:1 warning: (trailingSpace) Remove trailing space at end of a line.
fastlane/Constants/Constant.swift:153:1 warning: (trailingSpace) Remove trailing space at end of a line.
fastlane/Constants/Constant.swift:160:1 warning: (trailingSpace) Remove trailing space at end of a line.
fastlane/Constants/Constant.swift:164:1 warning: (spaceAroundOperators) Add or remove space around operators or delimiters.
fastlane/Constants/Constant.swift:167:1 warning: (trailingSpace) Remove trailing space at end of a line.

Current coverage for sample is 18.25%

No files affecting coverage found


Powered by xcov

Generated by :no_entry_sign: Danger

luongvo commented 11 months ago

TODO: missing buildKonfig.properties https://github.com/nimblehq/kmm-templates/tree/feature/30-complete-the-script-to-generate-new-kmm-project/sample

luongvo commented 11 months ago

TODO: missing buildKonfig.properties feature/30-complete-the-script-to-generate-new-kmm-project/sample

Fixed in https://github.com/nimblehq/kmm-templates/pull/47/commits/f1191bfe814801908d134353e0c2d7420859b217