msa1422 / kmm-arch-petsearch Goto Github PK
View Code? Open in Web Editor NEWKotlin-Multiplatform Mobile app which connects to PetFinder Api and let's you browse adorable pets.
License: MIT License
Kotlin-Multiplatform Mobile app which connects to PetFinder Api and let's you browse adorable pets.
License: MIT License
The new sourceset layout brought on by the Kotlin update to 1.8 seems to break Moko resources
Execution failed for task ':petsearch-shared:resources:packageDebugResources'.
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.
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.
Is this known issue?
I created sample project like your project. After run ios app in ContentView.swift:
**
**
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"
}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.