Giter Club home page Giter Club logo

kmm-arch-petsearch's Issues

Form with validation sample

Hi! First of all I want to thanks for this project I find it very usefull to learn KMM.

I'm doing a project that includes form witch should be validated. At this point I think it is very laborious to event add single field to the form.
For that I need to add two fileds to both *RenderState and *State data classes - one for field value, second for error message. Then update *SateMapper, add new data class for this field as implementation of *Action and then handle it in onNewAction function in *Updater where new field value is validated and then properly handled. It works, but it is also very laborious to do. Do you have any idea how to implement it in a smart way?

Another problem that I'm facing is how to handle data that is not know at the moment? For example database ID, which will be known only after form saves its conent into DB.

Moko Duplicate resources

Hi I launched your project without any changes on Android Studio Flamingo | 2022.2.1 and it happen that I got this issue:

` Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':petsearch-shared:resources:packageDebugResources'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:142)
at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:282)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:140)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:128)
at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:77)
at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:57)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:69)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:322)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:309)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:302)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:288)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:462)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:379)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:49)
Caused by: com.android.build.gradle.tasks.ResourceException: [font/inter_black] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\font\inter_black.ttf [font/inter_black] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\font\inter_black.ttf: Error: Duplicate resources
[font/inter_regular] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\font\inter_regular.ttf [font/inter_regular] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\font\inter_regular.ttf: Error: Duplicate resources
[font/inter_semibold] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\font\inter_semibold.ttf [font/inter_semibold] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\font\inter_semibold.ttf: Error: Duplicate resources
[color/background_light] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\colors.xml [color/background_light] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\colors.xml: Error: Duplicate resources
[color/surface_light] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\colors.xml [color/surface_light] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\colors.xml: Error: Duplicate resources
[color/onSurface_light] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\colors.xml [color/onSurface_light] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\colors.xml: Error: Duplicate resources
[color/background_dark] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\colors.xml [color/background_dark] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\colors.xml: Error: Duplicate resources
[color/surface_dark] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\colors.xml [color/surface_dark] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\colors.xml: Error: Duplicate resources
[color/onSurface_dark] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\colors.xml [color/onSurface_dark] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\colors.xml: Error: Duplicate resources
[string/about] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml [string/about] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml: Error: Duplicate resources
[string/app_name] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml [string/app_name] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml: Error: Duplicate resources
[string/attributes] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml [string/attributes] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml: Error: Duplicate resources
[string/characteristics] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml [string/characteristics] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml: Error: Duplicate resources
[string/declawed] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml [string/declawed] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml: Error: Duplicate resources
[string/house_trained] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml [string/house_trained] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml: Error: Duplicate resources
[string/loading] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml [string/loading] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml: Error: Duplicate resources
[string/no] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml [string/no] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml: Error: Duplicate resources
[string/spacial_needs] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml [string/spacial_needs] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml: Error: Duplicate resources
[string/spay_neuter] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml [string/spay_neuter] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml: Error: Duplicate resources
[string/vaccinated] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml [string/vaccinated] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml: Error: Duplicate resources
[string/yes] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml [string/yes] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml: Error: Duplicate resources
at com.android.build.gradle.tasks.MergeResources.doFullTaskAction(MergeResources.kt:294)
at com.android.build.gradle.tasks.MergeResources.doTaskAction(MergeResources.kt:323)
at com.android.build.gradle.internal.tasks.NewIncrementalTask$taskAction$$inlined$recordTaskAction$1.invoke(BaseTask.kt:69)
at com.android.build.gradle.internal.tasks.Blocks.recordSpan(Blocks.java:51)
at com.android.build.gradle.internal.tasks.NewIncrementalTask.taskAction(NewIncrementalTask.kt:46)
at jdk.internal.reflect.GeneratedMethodAccessor1080.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:125)
at org.gradle.api.internal.project.taskfactory.IncrementalInputsTaskAction.doExecute(IncrementalInputsTaskAction.java:32)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:51)
at org.gradle.api.internal.project.taskfactory.AbstractIncrementalTaskAction.execute(AbstractIncrementalTaskAction.java:25)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:29)
at org.gradle.api.internal.tasks.execution.TaskExecution$3.run(TaskExecution.java:236)
at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:68)
at org.gradle.api.internal.tasks.execution.TaskExecution.executeAction(TaskExecution.java:221)
at org.gradle.api.internal.tasks.execution.TaskExecution.executeActions(TaskExecution.java:204)
at org.gradle.api.internal.tasks.execution.TaskExecution.executeWithPreviousOutputFiles(TaskExecution.java:187)
at org.gradle.api.internal.tasks.execution.TaskExecution.execute(TaskExecution.java:165)
at org.gradle.internal.execution.steps.ExecuteStep.executeInternal(ExecuteStep.java:89)
at org.gradle.internal.execution.steps.ExecuteStep.access$000(ExecuteStep.java:40)
at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:53)
at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:50)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:50)
at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:40)
at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:68)
at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:38)
at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:41)
at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:74)
at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:55)
at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:51)
at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:29)
at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.executeDelegateBroadcastingChanges(CaptureStateAfterExecutionStep.java:124)
at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:80)
at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:58)
at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:48)
at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:36)
at org.gradle.internal.execution.steps.BuildCacheStep.executeWithoutCache(BuildCacheStep.java:181)
at org.gradle.internal.execution.steps.BuildCacheStep.executeAndStoreInCache(BuildCacheStep.java:154)
at org.gradle.internal.execution.steps.BuildCacheStep.lambda$executeWithCache$4(BuildCacheStep.java:121)
at org.gradle.internal.execution.steps.BuildCacheStep.lambda$executeWithCache$5(BuildCacheStep.java:121)
at org.gradle.internal.Try$Success.map(Try.java:164)
at org.gradle.internal.execution.steps.BuildCacheStep.executeWithCache(BuildCacheStep.java:81)
at org.gradle.internal.execution.steps.BuildCacheStep.lambda$execute$0(BuildCacheStep.java:70)
at org.gradle.internal.Either$Left.fold(Either.java:115)
at org.gradle.internal.execution.caching.CachingState.fold(CachingState.java:59)
at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:69)
at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:47)
at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:36)
at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:25)
at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:36)
at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:22)
at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:110)
at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$2(SkipUpToDateStep.java:56)
at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:56)
at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:38)
at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:73)
at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:44)
at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:37)
at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:27)
at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:89)
at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:50)
at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:102)
at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:57)
at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:76)
at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:50)
at org.gradle.internal.execution.steps.SkipEmptyWorkStep.executeWithNoEmptySources(SkipEmptyWorkStep.java:254)
at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:91)
at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:56)
at org.gradle.internal.execution.steps.RemoveUntrackedExecutionStateStep.execute(RemoveUntrackedExecutionStateStep.java:32)
at org.gradle.internal.execution.steps.RemoveUntrackedExecutionStateStep.execute(RemoveUntrackedExecutionStateStep.java:21)
at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:38)
at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:43)
at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:31)
at org.gradle.internal.execution.steps.AssignWorkspaceStep.lambda$execute$0(AssignWorkspaceStep.java:40)
at org.gradle.api.internal.tasks.execution.TaskExecution$4.withWorkspace(TaskExecution.java:281)
at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:40)
at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:30)
at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:37)
at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:27)
at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:44)
at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:33)
at org.gradle.internal.execution.impl.DefaultExecutionEngine$1.execute(DefaultExecutionEngine.java:76)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:139)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:128)
at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:77)
at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:57)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:69)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:322)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:309)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:302)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:288)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:462)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:379)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:49)
Caused by: [font/inter_black] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\font\inter_black.ttf [font/inter_black] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\font\inter_black.ttf: Error: Duplicate resources
[font/inter_regular] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\font\inter_regular.ttf [font/inter_regular] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\font\inter_regular.ttf: Error: Duplicate resources
[font/inter_semibold] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\font\inter_semibold.ttf [font/inter_semibold] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\font\inter_semibold.ttf: Error: Duplicate resources
[color/background_light] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\colors.xml [color/background_light] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\colors.xml: Error: Duplicate resources
[color/surface_light] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\colors.xml [color/surface_light] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\colors.xml: Error: Duplicate resources
[color/onSurface_light] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\colors.xml [color/onSurface_light] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\colors.xml: Error: Duplicate resources
[color/background_dark] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\colors.xml [color/background_dark] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\colors.xml: Error: Duplicate resources
[color/surface_dark] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\colors.xml [color/surface_dark] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\colors.xml: Error: Duplicate resources
[color/onSurface_dark] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\colors.xml [color/onSurface_dark] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\colors.xml: Error: Duplicate resources
[string/about] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml [string/about] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml: Error: Duplicate resources
[string/app_name] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml [string/app_name] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml: Error: Duplicate resources
[string/attributes] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml [string/attributes] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml: Error: Duplicate resources
[string/characteristics] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml [string/characteristics] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml: Error: Duplicate resources
[string/declawed] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml [string/declawed] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml: Error: Duplicate resources
[string/house_trained] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml [string/house_trained] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml: Error: Duplicate resources
[string/loading] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml [string/loading] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml: Error: Duplicate resources
[string/no] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml [string/no] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml: Error: Duplicate resources
[string/spacial_needs] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml [string/spacial_needs] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml: Error: Duplicate resources
[string/spay_neuter] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml [string/spay_neuter] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml: Error: Duplicate resources
[string/vaccinated] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml [string/vaccinated] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml: Error: Duplicate resources
[string/yes] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml [string/yes] D:\IdeaProjects\KMM-Arch-PetSearch\petsearch-shared\resources\build\generated\moko\androidMain\res\values\multiplatform_strings.xml: Error: Duplicate resources
at com.android.ide.common.resources.DataSet.checkItems(DataSet.java:512)
at com.android.ide.common.resources.DataSet.loadFromFiles(DataSet.java:273)
at com.android.ide.common.resources.DataSet.loadFromFiles(DataSet.java:243)
at com.android.build.gradle.tasks.MergeResources$doFullTaskAction$1$1$1.invoke(MergeResources.kt:244)
at com.android.build.gradle.internal.tasks.Blocks.recordSpan(Blocks.java:51)
at com.android.build.gradle.tasks.MergeResources.doFullTaskAction(MergeResources.kt:238)
... 125 more

`

I found out that removing those lines

  sourceSets["main"].apply {
        assets.srcDir(File(buildDir, "generated/moko/androidMain/assets"))
        res.srcDir(File(buildDir, "generated/moko/androidMain/res"))
    }

will fix the issue.

obraz

Is this known issue?

Value of type 'MessageDeque' has no member 'invokeNative'

I created sample project like your project. After run ios app in ContentView.swift:
**

Screenshot 1402-02-06 at 13 05 47

**

Value of type 'MessageDeque' has no member 'invokeNative'

shared gradle :

@file:Suppress("DSL_SCOPE_VIOLATION")

plugins {
    kotlin("multiplatform")
    kotlin("native.cocoapods")
    id("com.android.library")
    kotlin("plugin.serialization").version("1.8.20")
    id("com.google.devtools.ksp").version("1.8.10-1.0.9")
    id("com.rickclephas.kmp.nativecoroutines").version("1.0.0-ALPHA-5")
    id("dev.icerock.mobile.multiplatform-resources").version("0.21.1")
}


kotlin {
    android {
        compilations.all {
            kotlinOptions {
                jvmTarget = "1.8"
            }
        }
    }
    iosX64()
    iosArm64()
    iosSimulatorArm64()

    cocoapods {
        summary = "Some description for the Shared Module"
        homepage = "Link to the Shared Module homepage"
        version = "1.0"
        ios.deploymentTarget = "14.1"
        podfile = project.file("../iosImpFinance/Podfile")
        framework {
            baseName = "sharedImpFinance"

            export("dev.icerock.moko:resources:0.21.1")
            export("dev.icerock.moko:graphics:0.9.0") // toUIColor here
        }
    }
    
    sourceSets {
        val ktorVersion = "2.2.4"
        val commonMain by getting {
            dependencies {
                //core
                implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.0")

                //util
                implementation("com.squareup.okio:okio:3.3.0")
                implementation("io.insert-koin:koin-core:3.4.0")
                api("io.github.kuuuurt:multiplatform-paging:0.6.2")
                api("co.touchlab:kermit:1.2.2")
                implementation("com.benasher44:uuid:0.7.0")
                implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4")

                //ktor
                implementation("io.ktor:ktor-client-core:$ktorVersion")
                implementation("io.ktor:ktor-client-logging:$ktorVersion")
                implementation("io.ktor:ktor-client-content-negotiation:$ktorVersion")
                implementation("io.ktor:ktor-serialization-kotlinx-json:$ktorVersion")

                implementation("com.russhwolf:multiplatform-settings:1.0.0")
                implementation("com.russhwolf:multiplatform-settings-coroutines:1.0.0")

                implementation("com.russhwolf:multiplatform-settings-no-arg:1.0.0")

                //resource
                api("dev.icerock.moko:resources:0.21.1")
                //api("dev.icerock.moko:resources-compose:0.20.1") // for compose multiplatform
                //testImplementation("dev.icerock.moko:resources-test:0.21.1")
            }
        }
        val commonTest by getting {
            dependencies {
                implementation(kotlin("test"))
            }
        }
        val androidMain by getting {
            dependencies {
                implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.6.1")
                implementation("io.ktor:ktor-client-android:$ktorVersion")
                implementation("io.ktor:ktor-client-okhttp:$ktorVersion")
                implementation("io.insert-koin:koin-android:3.4.0")
            }
        }
        val androidUnitTest by getting
        val iosX64Main by getting
        val iosArm64Main by getting
        val iosSimulatorArm64Main by getting
        val iosMain by creating {
            dependsOn(commonMain)
            iosX64Main.dependsOn(this)
            iosArm64Main.dependsOn(this)
            iosSimulatorArm64Main.dependsOn(this)

            dependencies {
                implementation("io.ktor:ktor-client-darwin:$ktorVersion")
            }
        }
        val iosX64Test by getting
        val iosArm64Test by getting
        val iosSimulatorArm64Test by getting
        val iosTest by creating {
            dependsOn(commonTest)
            iosX64Test.dependsOn(this)
            iosArm64Test.dependsOn(this)
            iosSimulatorArm64Test.dependsOn(this)
        }
    }
}

android {
    namespace = "---"
    compileSdk = 33
    defaultConfig {
        minSdk = 24
        targetSdk = 33
    }
}


multiplatformResources {
    multiplatformResourcesPackage = "---"
    multiplatformResourcesClassName = "MR"
    disableStaticFrameworkWarning = true
    //multiplatformResourcesVisibility = MRVisibility.Internal // optional, default Public
    //iosBaseLocalizationRegion = "en" // optional, default "en"
    //multiplatformResourcesSourceSet = "commonClientMain"  // optional, default "commonMain"

}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.