Refactor Kotlin tasks provider & fix friend task matching with new MPP
* Parameterize with the target name and use it in the task names * Get rid of separate task providers for common and js, use the default with an appropriate target name
This commit is contained in:
+22
-13
@@ -454,16 +454,19 @@ internal fun configureDefaultVersionsResolutionStrategy(project: Project, kotlin
|
|||||||
}
|
}
|
||||||
|
|
||||||
internal open class KotlinPlugin(
|
internal open class KotlinPlugin(
|
||||||
tasksProvider: KotlinTasksProvider,
|
|
||||||
kotlinPluginVersion: String,
|
kotlinPluginVersion: String,
|
||||||
registry: ToolingModelBuilderRegistry
|
registry: ToolingModelBuilderRegistry
|
||||||
) : AbstractKotlinPlugin(tasksProvider, kotlinPluginVersion, registry) {
|
) : AbstractKotlinPlugin(KotlinTasksProvider(targetName), kotlinPluginVersion, registry) {
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
private const val targetName = "" // use empty suffix for the task names
|
||||||
|
}
|
||||||
|
|
||||||
override fun buildSourceSetProcessor(project: Project, compilation: KotlinCompilation, kotlinPluginVersion: String) =
|
override fun buildSourceSetProcessor(project: Project, compilation: KotlinCompilation, kotlinPluginVersion: String) =
|
||||||
Kotlin2JvmSourceSetProcessor(project, tasksProvider, compilation, kotlinPluginVersion)
|
Kotlin2JvmSourceSetProcessor(project, tasksProvider, compilation, kotlinPluginVersion)
|
||||||
|
|
||||||
override fun apply(project: Project) {
|
override fun apply(project: Project) {
|
||||||
val target = KotlinWithJavaTarget(project, KotlinPlatformType.jvm, "").apply {
|
val target = KotlinWithJavaTarget(project, KotlinPlatformType.jvm, targetName).apply {
|
||||||
disambiguationClassifier = null // don't add anything to the task names
|
disambiguationClassifier = null // don't add anything to the task names
|
||||||
}
|
}
|
||||||
(project.kotlinExtension as KotlinSingleJavaTargetExtension).target = target
|
(project.kotlinExtension as KotlinSingleJavaTargetExtension).target = target
|
||||||
@@ -474,10 +477,13 @@ internal open class KotlinPlugin(
|
|||||||
}
|
}
|
||||||
|
|
||||||
internal open class KotlinCommonPlugin(
|
internal open class KotlinCommonPlugin(
|
||||||
tasksProvider: KotlinTasksProvider,
|
|
||||||
kotlinPluginVersion: String,
|
kotlinPluginVersion: String,
|
||||||
registry: ToolingModelBuilderRegistry
|
registry: ToolingModelBuilderRegistry
|
||||||
) : AbstractKotlinPlugin(tasksProvider, kotlinPluginVersion, registry) {
|
) : AbstractKotlinPlugin(KotlinTasksProvider(targetName), kotlinPluginVersion, registry) {
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
private const val targetName = "common"
|
||||||
|
}
|
||||||
|
|
||||||
override fun buildSourceSetProcessor(
|
override fun buildSourceSetProcessor(
|
||||||
project: Project,
|
project: Project,
|
||||||
@@ -487,7 +493,7 @@ internal open class KotlinCommonPlugin(
|
|||||||
KotlinCommonSourceSetProcessor(project, compilation, tasksProvider, kotlinPluginVersion)
|
KotlinCommonSourceSetProcessor(project, compilation, tasksProvider, kotlinPluginVersion)
|
||||||
|
|
||||||
override fun apply(project: Project) {
|
override fun apply(project: Project) {
|
||||||
val target = KotlinWithJavaTarget(project, KotlinPlatformType.common, "common")
|
val target = KotlinWithJavaTarget(project, KotlinPlatformType.common, targetName)
|
||||||
(project.kotlinExtension as KotlinSingleJavaTargetExtension).target = target
|
(project.kotlinExtension as KotlinSingleJavaTargetExtension).target = target
|
||||||
|
|
||||||
super.apply(project)
|
super.apply(project)
|
||||||
@@ -495,10 +501,13 @@ internal open class KotlinCommonPlugin(
|
|||||||
}
|
}
|
||||||
|
|
||||||
internal open class Kotlin2JsPlugin(
|
internal open class Kotlin2JsPlugin(
|
||||||
tasksProvider: KotlinTasksProvider,
|
|
||||||
kotlinPluginVersion: String,
|
kotlinPluginVersion: String,
|
||||||
registry: ToolingModelBuilderRegistry
|
registry: ToolingModelBuilderRegistry
|
||||||
) : AbstractKotlinPlugin(tasksProvider, kotlinPluginVersion, registry) {
|
) : AbstractKotlinPlugin(KotlinTasksProvider(targetName), kotlinPluginVersion, registry) {
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
private const val targetName = "2Js"
|
||||||
|
}
|
||||||
|
|
||||||
override fun buildSourceSetProcessor(
|
override fun buildSourceSetProcessor(
|
||||||
project: Project,
|
project: Project,
|
||||||
@@ -510,7 +519,7 @@ internal open class Kotlin2JsPlugin(
|
|||||||
)
|
)
|
||||||
|
|
||||||
override fun apply(project: Project) {
|
override fun apply(project: Project) {
|
||||||
val target = KotlinWithJavaTarget(project, KotlinPlatformType.js, "2Js")
|
val target = KotlinWithJavaTarget(project, KotlinPlatformType.js, targetName)
|
||||||
|
|
||||||
(project.kotlinExtension as KotlinSingleJavaTargetExtension).target = target
|
(project.kotlinExtension as KotlinSingleJavaTargetExtension).target = target
|
||||||
super.apply(project)
|
super.apply(project)
|
||||||
@@ -518,12 +527,12 @@ internal open class Kotlin2JsPlugin(
|
|||||||
}
|
}
|
||||||
|
|
||||||
internal open class KotlinAndroidPlugin(
|
internal open class KotlinAndroidPlugin(
|
||||||
val tasksProvider: KotlinTasksProvider,
|
|
||||||
private val kotlinPluginVersion: String
|
private val kotlinPluginVersion: String
|
||||||
) : Plugin<Project> {
|
) : Plugin<Project> {
|
||||||
|
|
||||||
override fun apply(project: Project) {
|
override fun apply(project: Project) {
|
||||||
val androidTarget = KotlinAndroidTarget("", project)
|
val androidTarget = KotlinAndroidTarget("", project)
|
||||||
|
val tasksProvider = AndroidTasksProvider(androidTarget.targetName)
|
||||||
|
|
||||||
applyToTarget(
|
applyToTarget(
|
||||||
project, androidTarget, tasksProvider,
|
project, androidTarget, tasksProvider,
|
||||||
|
|||||||
+6
-9
@@ -29,8 +29,8 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinMultiplatformPlugin
|
|||||||
import org.jetbrains.kotlin.gradle.plugin.source.KotlinSourceSet
|
import org.jetbrains.kotlin.gradle.plugin.source.KotlinSourceSet
|
||||||
import org.jetbrains.kotlin.gradle.plugin.sources.DefaultKotlinSourceSetFactory
|
import org.jetbrains.kotlin.gradle.plugin.sources.DefaultKotlinSourceSetFactory
|
||||||
import org.jetbrains.kotlin.gradle.plugin.sources.KotlinSourceSetFactory
|
import org.jetbrains.kotlin.gradle.plugin.sources.KotlinSourceSetFactory
|
||||||
import org.jetbrains.kotlin.gradle.tasks.*
|
import org.jetbrains.kotlin.gradle.tasks.KOTLIN_COMPILER_EMBEDDABLE
|
||||||
import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull
|
import org.jetbrains.kotlin.gradle.tasks.KOTLIN_MODULE_GROUP
|
||||||
import java.io.FileNotFoundException
|
import java.io.FileNotFoundException
|
||||||
import java.util.*
|
import java.util.*
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
@@ -82,7 +82,7 @@ open class KotlinPluginWrapper @Inject constructor(
|
|||||||
protected val registry: ToolingModelBuilderRegistry
|
protected val registry: ToolingModelBuilderRegistry
|
||||||
): KotlinBasePluginWrapper(fileResolver) {
|
): KotlinBasePluginWrapper(fileResolver) {
|
||||||
override fun getPlugin(project: Project, kotlinGradleBuildServices: KotlinGradleBuildServices): Plugin<Project> =
|
override fun getPlugin(project: Project, kotlinGradleBuildServices: KotlinGradleBuildServices): Plugin<Project> =
|
||||||
KotlinPlugin(KotlinTasksProvider(), kotlinPluginVersion, registry)
|
KotlinPlugin(kotlinPluginVersion, registry)
|
||||||
|
|
||||||
override val projectExtensionClass: KClass<out KotlinJvmProjectExtension>
|
override val projectExtensionClass: KClass<out KotlinJvmProjectExtension>
|
||||||
get() = KotlinJvmProjectExtension::class
|
get() = KotlinJvmProjectExtension::class
|
||||||
@@ -93,7 +93,7 @@ open class KotlinCommonPluginWrapper @Inject constructor(
|
|||||||
protected val registry: ToolingModelBuilderRegistry
|
protected val registry: ToolingModelBuilderRegistry
|
||||||
): KotlinBasePluginWrapper(fileResolver) {
|
): KotlinBasePluginWrapper(fileResolver) {
|
||||||
override fun getPlugin(project: Project, kotlinGradleBuildServices: KotlinGradleBuildServices): Plugin<Project> =
|
override fun getPlugin(project: Project, kotlinGradleBuildServices: KotlinGradleBuildServices): Plugin<Project> =
|
||||||
KotlinCommonPlugin(KotlinCommonTasksProvider(), kotlinPluginVersion, registry)
|
KotlinCommonPlugin(kotlinPluginVersion, registry)
|
||||||
|
|
||||||
override val projectExtensionClass: KClass<out KotlinSingleJavaTargetExtension>
|
override val projectExtensionClass: KClass<out KotlinSingleJavaTargetExtension>
|
||||||
get() = KotlinSingleJavaTargetExtension::class
|
get() = KotlinSingleJavaTargetExtension::class
|
||||||
@@ -104,10 +104,7 @@ open class KotlinAndroidPluginWrapper @Inject constructor(
|
|||||||
protected val registry: ToolingModelBuilderRegistry
|
protected val registry: ToolingModelBuilderRegistry
|
||||||
): KotlinBasePluginWrapper(fileResolver) {
|
): KotlinBasePluginWrapper(fileResolver) {
|
||||||
override fun getPlugin(project: Project, kotlinGradleBuildServices: KotlinGradleBuildServices): Plugin<Project> =
|
override fun getPlugin(project: Project, kotlinGradleBuildServices: KotlinGradleBuildServices): Plugin<Project> =
|
||||||
KotlinAndroidPlugin(
|
KotlinAndroidPlugin(kotlinPluginVersion)
|
||||||
AndroidTasksProvider(),
|
|
||||||
kotlinPluginVersion
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
open class Kotlin2JsPluginWrapper @Inject constructor(
|
open class Kotlin2JsPluginWrapper @Inject constructor(
|
||||||
@@ -115,7 +112,7 @@ open class Kotlin2JsPluginWrapper @Inject constructor(
|
|||||||
protected val registry: ToolingModelBuilderRegistry
|
protected val registry: ToolingModelBuilderRegistry
|
||||||
): KotlinBasePluginWrapper(fileResolver) {
|
): KotlinBasePluginWrapper(fileResolver) {
|
||||||
override fun getPlugin(project: Project, kotlinGradleBuildServices: KotlinGradleBuildServices): Plugin<Project> =
|
override fun getPlugin(project: Project, kotlinGradleBuildServices: KotlinGradleBuildServices): Plugin<Project> =
|
||||||
Kotlin2JsPlugin(Kotlin2JsTasksProvider(), kotlinPluginVersion, registry)
|
Kotlin2JsPlugin(kotlinPluginVersion, registry)
|
||||||
|
|
||||||
override val projectExtensionClass: KClass<out KotlinSingleJavaTargetExtension>
|
override val projectExtensionClass: KClass<out KotlinSingleJavaTargetExtension>
|
||||||
get() = KotlinSingleJavaTargetExtension::class
|
get() = KotlinSingleJavaTargetExtension::class
|
||||||
|
|||||||
+5
-6
@@ -33,18 +33,17 @@ internal abstract class TaskToFriendTaskMapper {
|
|||||||
sealed internal class RegexTaskToFriendTaskMapper(
|
sealed internal class RegexTaskToFriendTaskMapper(
|
||||||
private val prefix: String,
|
private val prefix: String,
|
||||||
suffix: String,
|
suffix: String,
|
||||||
|
private val targetName: String,
|
||||||
private val postfixReplacement: String
|
private val postfixReplacement: String
|
||||||
) : TaskToFriendTaskMapper() {
|
) : TaskToFriendTaskMapper() {
|
||||||
class Default : RegexTaskToFriendTaskMapper("compile", "TestKotlin(AfterJava)?", "Kotlin")
|
class Default(targetName: String) : RegexTaskToFriendTaskMapper("compile", "TestKotlin", targetName, "Kotlin")
|
||||||
class JavaScript : RegexTaskToFriendTaskMapper("compile", "TestKotlin2Js", "Kotlin2Js")
|
class Android(targetName: String) : RegexTaskToFriendTaskMapper("compile", "(Unit|Android)TestKotlin", targetName, "Kotlin")
|
||||||
class Common : RegexTaskToFriendTaskMapper("compile", "TestKotlinCommon", "KotlinCommon")
|
|
||||||
class Android : RegexTaskToFriendTaskMapper("compile", "(Unit|Android)TestKotlin(AfterJava)?", "Kotlin")
|
|
||||||
|
|
||||||
private val regex = "$prefix(.*)$suffix".toRegex()
|
private val regex = "$prefix(.*)$suffix${targetName.capitalize()}".toRegex()
|
||||||
|
|
||||||
override fun getFriendByName(name: String): String? {
|
override fun getFriendByName(name: String): String? {
|
||||||
val match = regex.matchEntire(name) ?: return null
|
val match = regex.matchEntire(name) ?: return null
|
||||||
val variant = match.groups[1]?.value ?: ""
|
val variant = match.groups[1]?.value ?: ""
|
||||||
return prefix + variant + postfixReplacement
|
return prefix + variant + postfixReplacement + targetName.capitalize()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+5
-8
@@ -12,8 +12,6 @@ import org.gradle.internal.cleanup.BuildOutputCleanupRegistry
|
|||||||
import org.gradle.internal.reflect.Instantiator
|
import org.gradle.internal.reflect.Instantiator
|
||||||
import org.jetbrains.kotlin.gradle.plugin.*
|
import org.jetbrains.kotlin.gradle.plugin.*
|
||||||
import org.jetbrains.kotlin.gradle.tasks.AndroidTasksProvider
|
import org.jetbrains.kotlin.gradle.tasks.AndroidTasksProvider
|
||||||
import org.jetbrains.kotlin.gradle.tasks.Kotlin2JsTasksProvider
|
|
||||||
import org.jetbrains.kotlin.gradle.tasks.KotlinCommonTasksProvider
|
|
||||||
import org.jetbrains.kotlin.gradle.tasks.KotlinTasksProvider
|
import org.jetbrains.kotlin.gradle.tasks.KotlinTasksProvider
|
||||||
|
|
||||||
abstract class KotlinOnlyTargetPreset<T : KotlinCompilation>(
|
abstract class KotlinOnlyTargetPreset<T : KotlinCompilation>(
|
||||||
@@ -74,7 +72,7 @@ class KotlinUniversalTargetPreset(
|
|||||||
KotlinCommonSourceSetProcessor(
|
KotlinCommonSourceSetProcessor(
|
||||||
project,
|
project,
|
||||||
compilation,
|
compilation,
|
||||||
KotlinCommonTasksProvider(),
|
KotlinTasksProvider(compilation.target.targetName),
|
||||||
kotlinPluginVersion
|
kotlinPluginVersion
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -105,7 +103,7 @@ class KotlinJvmTargetPreset(
|
|||||||
get() = KotlinPlatformType.jvm
|
get() = KotlinPlatformType.jvm
|
||||||
|
|
||||||
override fun buildCompilationProcessor(compilation: KotlinJvmCompilation): KotlinSourceSetProcessor<*> =
|
override fun buildCompilationProcessor(compilation: KotlinJvmCompilation): KotlinSourceSetProcessor<*> =
|
||||||
Kotlin2JvmSourceSetProcessor(project, KotlinTasksProvider(), compilation, kotlinPluginVersion)
|
Kotlin2JvmSourceSetProcessor(project, KotlinTasksProvider(compilation.target.targetName), compilation, kotlinPluginVersion)
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
const val PRESET_NAME = "jvm"
|
const val PRESET_NAME = "jvm"
|
||||||
@@ -134,7 +132,7 @@ class KotlinJsTargetPreset(
|
|||||||
get() = KotlinPlatformType.js
|
get() = KotlinPlatformType.js
|
||||||
|
|
||||||
override fun buildCompilationProcessor(compilation: KotlinJsCompilation): KotlinSourceSetProcessor<*> =
|
override fun buildCompilationProcessor(compilation: KotlinJsCompilation): KotlinSourceSetProcessor<*> =
|
||||||
Kotlin2JsSourceSetProcessor(project, Kotlin2JsTasksProvider(), compilation, kotlinPluginVersion)
|
Kotlin2JsSourceSetProcessor(project, KotlinTasksProvider(compilation.target.targetName), compilation, kotlinPluginVersion)
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
const val PRESET_NAME = "js"
|
const val PRESET_NAME = "js"
|
||||||
@@ -154,11 +152,10 @@ class KotlinAndroidTargetPreset(
|
|||||||
}
|
}
|
||||||
|
|
||||||
KotlinAndroidPlugin.applyToTarget(
|
KotlinAndroidPlugin.applyToTarget(
|
||||||
project, result, AndroidTasksProvider(),
|
project, result, AndroidTasksProvider(name),
|
||||||
kotlinPluginVersion
|
kotlinPluginVersion
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -182,7 +179,7 @@ class KotlinJvmWithJavaTargetPreset(
|
|||||||
}
|
}
|
||||||
|
|
||||||
AbstractKotlinPlugin.configureTarget(target) { compilation ->
|
AbstractKotlinPlugin.configureTarget(target) { compilation ->
|
||||||
Kotlin2JvmSourceSetProcessor(project, KotlinTasksProvider(), compilation, kotlinPluginVersion)
|
Kotlin2JvmSourceSetProcessor(project, KotlinTasksProvider(name), compilation, kotlinPluginVersion)
|
||||||
}
|
}
|
||||||
|
|
||||||
target.compilations.all { compilation ->
|
target.compilations.all { compilation ->
|
||||||
|
|||||||
+4
-14
@@ -21,7 +21,7 @@ import org.jetbrains.kotlin.gradle.plugin.RegexTaskToFriendTaskMapper
|
|||||||
import org.jetbrains.kotlin.gradle.plugin.TaskToFriendTaskMapper
|
import org.jetbrains.kotlin.gradle.plugin.TaskToFriendTaskMapper
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mapKotlinTaskProperties
|
import org.jetbrains.kotlin.gradle.plugin.mapKotlinTaskProperties
|
||||||
|
|
||||||
internal open class KotlinTasksProvider {
|
internal open class KotlinTasksProvider(val targetName: String) {
|
||||||
open fun createKotlinJVMTask(project: Project, name: String, sourceSetName: String): KotlinCompile =
|
open fun createKotlinJVMTask(project: Project, name: String, sourceSetName: String): KotlinCompile =
|
||||||
project.tasks.create(name, KotlinCompile::class.java).apply {
|
project.tasks.create(name, KotlinCompile::class.java).apply {
|
||||||
configure(this, project, sourceSetName)
|
configure(this, project, sourceSetName)
|
||||||
@@ -48,22 +48,12 @@ internal open class KotlinTasksProvider {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected open val taskToFriendTaskMapper: TaskToFriendTaskMapper =
|
protected open val taskToFriendTaskMapper: TaskToFriendTaskMapper =
|
||||||
RegexTaskToFriendTaskMapper.Default()
|
RegexTaskToFriendTaskMapper.Default(targetName)
|
||||||
}
|
}
|
||||||
|
|
||||||
internal class KotlinCommonTasksProvider : KotlinTasksProvider() {
|
internal class AndroidTasksProvider(targetName: String) : KotlinTasksProvider(targetName) {
|
||||||
override val taskToFriendTaskMapper: TaskToFriendTaskMapper =
|
override val taskToFriendTaskMapper: TaskToFriendTaskMapper =
|
||||||
RegexTaskToFriendTaskMapper.Common()
|
RegexTaskToFriendTaskMapper.Android(targetName)
|
||||||
}
|
|
||||||
|
|
||||||
internal class Kotlin2JsTasksProvider : KotlinTasksProvider() {
|
|
||||||
override val taskToFriendTaskMapper: TaskToFriendTaskMapper =
|
|
||||||
RegexTaskToFriendTaskMapper.JavaScript()
|
|
||||||
}
|
|
||||||
|
|
||||||
internal class AndroidTasksProvider : KotlinTasksProvider() {
|
|
||||||
override val taskToFriendTaskMapper: TaskToFriendTaskMapper =
|
|
||||||
RegexTaskToFriendTaskMapper.Android()
|
|
||||||
|
|
||||||
override fun configure(kotlinTask: AbstractKotlinCompile<*>, project: Project, sourceSetName: String) {
|
override fun configure(kotlinTask: AbstractKotlinCompile<*>, project: Project, sourceSetName: String) {
|
||||||
super.configure(kotlinTask, project, sourceSetName)
|
super.configure(kotlinTask, project, sourceSetName)
|
||||||
|
|||||||
+24
-6
@@ -22,21 +22,22 @@ import org.junit.Test
|
|||||||
class RegexTaskToFriendTaskMapperTest {
|
class RegexTaskToFriendTaskMapperTest {
|
||||||
@Test
|
@Test
|
||||||
fun getFriendTaskNameDefault() {
|
fun getFriendTaskNameDefault() {
|
||||||
val mapper = RegexTaskToFriendTaskMapper.Default()
|
val mapper = RegexTaskToFriendTaskMapper.Default("")
|
||||||
Assert.assertEquals("compileKotlin", mapper["compileTestKotlin"])
|
Assert.assertEquals("compileKotlin", mapper["compileTestKotlin"])
|
||||||
Assert.assertEquals(null, mapper["compileKotlin"])
|
Assert.assertEquals(null, mapper["compileKotlin"])
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun getFriendTasksNameJavaScript() {
|
fun getFriendTaskNameCustomTargetName() {
|
||||||
val mapper = RegexTaskToFriendTaskMapper.JavaScript()
|
val mapper = RegexTaskToFriendTaskMapper.Default("Foo")
|
||||||
Assert.assertEquals("compileKotlin2Js", mapper["compileTestKotlin2Js"])
|
Assert.assertEquals("compileKotlinFoo", mapper["compileTestKotlinFoo"])
|
||||||
Assert.assertEquals(null, mapper["compileKotlin2Js"])
|
Assert.assertEquals(null, mapper["compileKotlinFoo"])
|
||||||
|
Assert.assertEquals(null, mapper["compileTestKotlinBar"])
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun getFriendTaskNameAndroid() {
|
fun getFriendTaskNameAndroid() {
|
||||||
val mapper = RegexTaskToFriendTaskMapper.Android()
|
val mapper = RegexTaskToFriendTaskMapper.Android("")
|
||||||
// Unit test examples
|
// Unit test examples
|
||||||
Assert.assertEquals("compileDebugKotlin", mapper["compileDebugUnitTestKotlin"])
|
Assert.assertEquals("compileDebugKotlin", mapper["compileDebugUnitTestKotlin"])
|
||||||
Assert.assertEquals("compileReleaseKotlin", mapper["compileReleaseUnitTestKotlin"])
|
Assert.assertEquals("compileReleaseKotlin", mapper["compileReleaseUnitTestKotlin"])
|
||||||
@@ -48,4 +49,21 @@ class RegexTaskToFriendTaskMapperTest {
|
|||||||
|
|
||||||
Assert.assertEquals(null, mapper["compileDebugKotlin"])
|
Assert.assertEquals(null, mapper["compileDebugKotlin"])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun getFriendTaskNameAndroidCustomTargetName() {
|
||||||
|
val mapper = RegexTaskToFriendTaskMapper.Android("Foo")
|
||||||
|
// Unit test examples
|
||||||
|
Assert.assertEquals("compileDebugKotlinFoo", mapper["compileDebugUnitTestKotlinFoo"])
|
||||||
|
Assert.assertEquals("compileReleaseKotlinFoo", mapper["compileReleaseUnitTestKotlinFoo"])
|
||||||
|
Assert.assertEquals("compileProdDebugKotlinFoo", mapper["compileProdDebugUnitTestKotlinFoo"])
|
||||||
|
// Android test examples
|
||||||
|
Assert.assertEquals("compileDebugKotlinFoo", mapper["compileDebugAndroidTestKotlinFoo"])
|
||||||
|
Assert.assertEquals("compileReleaseKotlinFoo", mapper["compileReleaseAndroidTestKotlinFoo"])
|
||||||
|
Assert.assertEquals("compileProdDebugKotlinFoo", mapper["compileProdDebugAndroidTestKotlinFoo"])
|
||||||
|
|
||||||
|
Assert.assertEquals(null, mapper["compileDebugKotlinFoo"])
|
||||||
|
Assert.assertEquals(null, mapper["compileDebugUnitTestKotlinBar"])
|
||||||
|
Assert.assertEquals(null, mapper["compileDebugAndroidTestKotlinBar"])
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user