11@file:Suppress(" UnstableApiUsage" )
22
3+ import org.jetbrains.kotlin.konan.target.HostManager
4+ import org.jetbrains.kotlin.konan.target.KonanTarget
5+
6+
37plugins {
48 kotlin(" jvm" )
59 id(" mokkery-publish" )
@@ -18,6 +22,14 @@ kotlin {
1822 }
1923}
2024
25+ fun Test.dependsOnPublishToMavenLocalOf (project : String ) {
26+ dependsOn(project(project).tasks.named(" publishToMavenLocal" ))
27+ }
28+
29+ fun Test.dependsOnPublishPublicationToMavenLocalOf (project : String , name : String ) {
30+ dependsOn(project(project).tasks.named(" publish${name} PublicationToMavenLocal" ))
31+ }
32+
2133val functionalTest by testing.suites.creating(JvmTestSuite ::class ) {
2234 val compilations = kotlin.target.compilations
2335 compilations.getByName(" functionalTest" ).associateWith(compilations.getByName(" main" ))
@@ -27,14 +39,33 @@ val functionalTest by testing.suites.creating(JvmTestSuite::class) {
2739 testLogging.showStandardStreams = true
2840 mustRunAfter(" test" )
2941 listOf (
30- " :mokkery-runtime" ,
31- " :mokkery-plugin" ,
3242 " :mokkery-core" ,
33- " :mokkery-gradle " ,
43+ " :mokkery-runtime " ,
3444 " :mokkery-coroutines"
3545 ).forEach {
36- dependsOn(project(it).tasks.named(" publishToMavenLocal" ))
46+ if (it == " :mokkery-runtime" ) {
47+ dependsOnPublishPublicationToMavenLocalOf(it, " AndroidRelease" )
48+ }
49+ dependsOnPublishPublicationToMavenLocalOf(it, " KotlinMultiplatform" )
50+ dependsOnPublishPublicationToMavenLocalOf(it, " Jvm" )
51+ dependsOnPublishPublicationToMavenLocalOf(it, " WasmJs" )
52+ dependsOnPublishPublicationToMavenLocalOf(it, " Js" )
53+ when (HostManager .host) {
54+ is KonanTarget .LINUX_X64 -> dependsOnPublishPublicationToMavenLocalOf(it, " LinuxX64" )
55+ is KonanTarget .LINUX_ARM64 -> dependsOnPublishPublicationToMavenLocalOf(it, " LinuxArm64" )
56+ is KonanTarget .MACOS_X64 -> {
57+ dependsOnPublishPublicationToMavenLocalOf(it, " MacosX64" )
58+ }
59+ is KonanTarget .MACOS_ARM64 -> {
60+ dependsOnPublishPublicationToMavenLocalOf(it, " MacosArm64" )
61+ dependsOnPublishPublicationToMavenLocalOf(it, " IosSimulatorArm64" )
62+ }
63+ is KonanTarget .MINGW_X64 -> dependsOnPublishPublicationToMavenLocalOf(it, " MingwX64" )
64+ else -> error(" Unsupported target ${HostManager .host} " )
65+ }
3766 }
67+ dependsOnPublishToMavenLocalOf(" :mokkery-plugin" )
68+ dependsOnPublishToMavenLocalOf(" :mokkery-gradle" )
3869 }
3970 }
4071 dependencies {
0 commit comments