@@ -280,6 +280,13 @@ class ResourcesTest : GradlePluginTestBase() {
280
280
libpath(" iossimulatorarm64" , " -kotlin_resources.kotlin_resources.zip" )
281
281
)
282
282
checkResourcesZip(iossimulatorarm64ResZip, resourcesFiles, false )
283
+
284
+ val macosx64ResZip =
285
+ file(libpath(" macosx64" , " -kotlin_resources.kotlin_resources.zip" ))
286
+ checkResourcesZip(macosx64ResZip, resourcesFiles, false )
287
+ val macosarm64ResZip =
288
+ file(libpath(" macosarm64" , " -kotlin_resources.kotlin_resources.zip" ))
289
+ checkResourcesZip(macosarm64ResZip, resourcesFiles, false )
283
290
}
284
291
val jsResZip = file(libpath(" js" , " -kotlin_resources.kotlin_resources.zip" ))
285
292
checkResourcesZip(jsResZip, resourcesFiles, false )
@@ -300,6 +307,13 @@ class ResourcesTest : GradlePluginTestBase() {
300
307
" :appModule:iosSimulatorArm64Test"
301
308
}
302
309
gradle(iosTask)
310
+
311
+ val macosTask = if (currentArch == Arch .X64 ) {
312
+ " :appModule:macosX64Test"
313
+ } else {
314
+ " :appModule:macosArm64Test"
315
+ }
316
+ gradle(macosTask)
303
317
}
304
318
305
319
file(" featureModule/src/commonMain/kotlin/me/sample/app/Feature.kt" ).modify { content ->
@@ -687,6 +701,95 @@ class ResourcesTest : GradlePluginTestBase() {
687
701
}
688
702
}
689
703
704
+ @Test
705
+ fun macosResources () {
706
+ Assumptions .assumeTrue(currentOS == OS .MacOS )
707
+ val macosEnv = mapOf (
708
+ " PLATFORM_NAME" to " macosx" ,
709
+ " ARCHS" to " arm64" ,
710
+ " CONFIGURATION" to " Debug" ,
711
+ )
712
+ val testEnv = defaultTestEnvironment.copy(
713
+ additionalEnvVars = macosEnv
714
+ )
715
+
716
+ with (TestProject (" misc/macosResources" , testEnv)) {
717
+ gradle(" :podspec" , " -Pkotlin.native.cocoapods.generate.wrapper=true" ).checks {
718
+ assertEqualTextFiles(
719
+ file(" macosResources.podspec" ),
720
+ file(" expected/macosResources.podspec" )
721
+ )
722
+ file(" build/compose/cocoapods/compose-resources" ).checkExists()
723
+ }
724
+
725
+ gradle(
726
+ " :syncFramework" ,
727
+ " -Pkotlin.native.cocoapods.platform=${macosEnv[" PLATFORM_NAME" ]} " ,
728
+ " -Pkotlin.native.cocoapods.archs=${macosEnv[" ARCHS" ]} " ,
729
+ " -Pkotlin.native.cocoapods.configuration=${macosEnv[" CONFIGURATION" ]} " ,
730
+ " --dry-run"
731
+ ).checks {
732
+ check.taskSkipped(" :generateComposeResClass" )
733
+
734
+ check.taskSkipped(" :convertXmlValueResourcesForCommonMain" )
735
+ check.taskSkipped(" :copyNonXmlValueResourcesForCommonMain" )
736
+ check.taskSkipped(" :prepareComposeResourcesTaskForCommonMain" )
737
+ check.taskSkipped(" :generateResourceAccessorsForCommonMain" )
738
+
739
+ check.taskSkipped(" :convertXmlValueResourcesForNativeMain" )
740
+ check.taskSkipped(" :copyNonXmlValueResourcesForNativeMain" )
741
+ check.taskSkipped(" :prepareComposeResourcesTaskForNativeMain" )
742
+ check.taskSkipped(" :generateResourceAccessorsForNativeMain" )
743
+
744
+ check.taskSkipped(" :convertXmlValueResourcesForAppleMain" )
745
+ check.taskSkipped(" :copyNonXmlValueResourcesForAppleMain" )
746
+ check.taskSkipped(" :prepareComposeResourcesTaskForAppleMain" )
747
+ check.taskSkipped(" :generateResourceAccessorsForAppleMain" )
748
+
749
+ check.taskSkipped(" :convertXmlValueResourcesForMacosMain" )
750
+ check.taskSkipped(" :copyNonXmlValueResourcesForMacosMain" )
751
+ check.taskSkipped(" :prepareComposeResourcesTaskForMacosMain" )
752
+ check.taskSkipped(" :generateResourceAccessorsForMacosMain" )
753
+
754
+ check.taskSkipped(" :convertXmlValueResourcesForMacosX64Main" )
755
+ check.taskSkipped(" :copyNonXmlValueResourcesForMacosX64Main" )
756
+ check.taskSkipped(" :prepareComposeResourcesTaskForMacosX64Main" )
757
+ check.taskSkipped(" :generateResourceAccessorsForMacosX64Main" )
758
+
759
+ check.taskSkipped(" :syncPodComposeResourcesForIos" )
760
+ }
761
+ gradle(" :syncPodComposeResourcesForIos" ).checks {
762
+ check.taskNoSource(" :convertXmlValueResourcesForCommonMain" )
763
+ check.taskSuccessful(" :copyNonXmlValueResourcesForCommonMain" )
764
+ check.taskSuccessful(" :prepareComposeResourcesTaskForCommonMain" )
765
+ check.taskSkipped(" :generateResourceAccessorsForCommonMain" )
766
+
767
+ check.taskNoSource(" :convertXmlValueResourcesForNativeMain" )
768
+ check.taskNoSource(" :copyNonXmlValueResourcesForNativeMain" )
769
+ check.taskNoSource(" :prepareComposeResourcesTaskForNativeMain" )
770
+ check.taskSkipped(" :generateResourceAccessorsForNativeMain" )
771
+
772
+ check.taskNoSource(" :convertXmlValueResourcesForAppleMain" )
773
+ check.taskNoSource(" :copyNonXmlValueResourcesForAppleMain" )
774
+ check.taskNoSource(" :prepareComposeResourcesTaskForAppleMain" )
775
+ check.taskSkipped(" :generateResourceAccessorsForAppleMain" )
776
+
777
+ check.taskNoSource(" :convertXmlValueResourcesForMacosMain" )
778
+ check.taskSuccessful(" :copyNonXmlValueResourcesForMacosMain" )
779
+ check.taskSuccessful(" :prepareComposeResourcesTaskForMacosMain" )
780
+ check.taskSkipped(" :generateResourceAccessorsForMacosMain" )
781
+
782
+ check.taskNoSource(" :convertXmlValueResourcesForMacosX64Main" )
783
+ check.taskNoSource(" :copyNonXmlValueResourcesForMacosX64Main" )
784
+ check.taskNoSource(" :prepareComposeResourcesTaskForMacosX64Main" )
785
+ check.taskSkipped(" :generateResourceAccessorsForMacosX64Main" )
786
+
787
+ file(" build/compose/cocoapods/compose-resources/composeResources/macosresources.generated.resources/drawable/compose-multiplatform.xml" ).checkExists()
788
+ file(" build/compose/cocoapods/compose-resources/composeResources/macosresources.generated.resources/drawable/icon.xml" ).checkExists()
789
+ }
790
+ }
791
+ }
792
+
690
793
@Test
691
794
fun iosTestResources () {
692
795
Assumptions .assumeTrue(currentOS == OS .MacOS )
@@ -702,6 +805,21 @@ class ResourcesTest : GradlePluginTestBase() {
702
805
}
703
806
}
704
807
808
+ @Test
809
+ fun macosTestResources () {
810
+ Assumptions .assumeTrue(currentOS == OS .MacOS )
811
+ with (testProject(" misc/macosResources" )) {
812
+ gradle(" :linkDebugTestMacosX64" , " --dry-run" ).checks {
813
+ check.taskSkipped(" :copyTestComposeResourcesForMacosX64" )
814
+ check.taskSkipped(" :linkDebugTestMacosX64" )
815
+ }
816
+ gradle(" :copyTestComposeResourcesForMacosX64" ).checks {
817
+ file(" build/bin/macosX64/debugTest/compose-resources/composeResources/macosresources.generated.resources/drawable/compose-multiplatform.xml" ).checkExists()
818
+ file(" build/bin/macosX64/debugTest/compose-resources/composeResources/macosresources.generated.resources/drawable/icon.xml" ).checkExists()
819
+ }
820
+ }
821
+ }
822
+
705
823
@Test
706
824
fun checkTestResources () {
707
825
with (testProject(" misc/testResources" )) {
@@ -714,6 +832,10 @@ class ResourcesTest : GradlePluginTestBase() {
714
832
check.logContains(" Configure test resources for 'iosArm64' target" )
715
833
check.logContains(" Configure main resources for 'iosSimulatorArm64' target" )
716
834
check.logContains(" Configure test resources for 'iosSimulatorArm64' target" )
835
+ check.logContains(" Configure main resources for 'macosX64' target" )
836
+ check.logContains(" Configure test resources for 'macosX64' target" )
837
+ check.logContains(" Configure main resources for 'macosArm64' target" )
838
+ check.logContains(" Configure test resources for 'macosArm64' target" )
717
839
718
840
check.taskSuccessful(" :desktopTest" )
719
841
}
0 commit comments