Introduce execution & test run API, KT-32679
* KotlinExecution * KotlinExecutionSource * KotlinTestRun * Aggregating executions and execution sources * KotlinTargetWithTests * Add a `testableTargets` extension * Make some Kotlin/Native targets testable (this requires having a separate preset type for them) * Implement test runs encapsulating the tests for all existing testable targets by refactoring their TargetConfigurator classes Issue #KT-32679 Fixed
This commit is contained in:
+19
-2
@@ -6,6 +6,7 @@
|
||||
package org.jetbrains.kotlin.generators.gradle.dsl
|
||||
|
||||
import org.jetbrains.kotlin.konan.target.HostManager
|
||||
import org.jetbrains.kotlin.konan.target.KonanTarget
|
||||
import org.jetbrains.kotlin.konan.target.presetName
|
||||
|
||||
internal class KotlinPresetEntry(
|
||||
@@ -21,6 +22,9 @@ internal const val MPP_PACKAGE = "org.jetbrains.kotlin.gradle.plugin.mpp"
|
||||
internal const val KOTLIN_NATIVE_TARGET_PRESET_CLASS_FQNAME = "$MPP_PACKAGE.KotlinNativeTargetPreset"
|
||||
internal const val KOTLIN_NATIVE_TARGET_CLASS_FQNAME = "$MPP_PACKAGE.KotlinNativeTarget"
|
||||
|
||||
internal const val KOTLIN_NATIVE_TARGET_WITH_TESTS_PRESET_CLASS_FQNAME = "$MPP_PACKAGE.KotlinNativeTargetWithTestsPreset"
|
||||
internal const val KOTLIN_NATIVE_TARGET_WITH_TESTS_CLASS_FQNAME = "$MPP_PACKAGE.KotlinNativeTargetWithTests"
|
||||
|
||||
internal val jvmPresetEntry = KotlinPresetEntry(
|
||||
"jvm",
|
||||
typeName("$MPP_PACKAGE.KotlinJvmTargetPreset"),
|
||||
@@ -39,11 +43,24 @@ internal val androidPresetEntry = KotlinPresetEntry(
|
||||
typeName("$MPP_PACKAGE.KotlinAndroidTarget")
|
||||
)
|
||||
|
||||
// Note: modifying this set should also be reflected in the MPP plugin code, see 'setupDefaultPresets'
|
||||
private val testableNativeTargets = setOf(KonanTarget.LINUX_X64, KonanTarget.MACOS_X64, KonanTarget.MINGW_X64)
|
||||
|
||||
internal val nativePresetEntries = HostManager().targets.map { (_, target) ->
|
||||
KotlinPresetEntry(
|
||||
target.presetName,
|
||||
typeName(KOTLIN_NATIVE_TARGET_PRESET_CLASS_FQNAME),
|
||||
typeName(KOTLIN_NATIVE_TARGET_CLASS_FQNAME)
|
||||
typeName(
|
||||
if (target in testableNativeTargets)
|
||||
KOTLIN_NATIVE_TARGET_WITH_TESTS_PRESET_CLASS_FQNAME
|
||||
else
|
||||
KOTLIN_NATIVE_TARGET_PRESET_CLASS_FQNAME
|
||||
),
|
||||
typeName(
|
||||
if (target in testableNativeTargets)
|
||||
KOTLIN_NATIVE_TARGET_WITH_TESTS_CLASS_FQNAME
|
||||
else
|
||||
KOTLIN_NATIVE_TARGET_CLASS_FQNAME
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user