Fix mapping kotlin properties in JS plugin

This commit is contained in:
Alexey Tsvetkov
2016-12-16 14:43:17 +03:00
parent f57bbeed58
commit c6586f2ac8
@@ -22,28 +22,28 @@ 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 {
fun createKotlinJVMTask(project: Project, name: String, sourceSetName: String): KotlinCompile { fun createKotlinJVMTask(project: Project, name: String, sourceSetName: String): KotlinCompile =
return project.tasks.create(name, KotlinCompile::class.java).apply { project.tasks.create(name, KotlinCompile::class.java).apply {
this.sourceSetName = sourceSetName configure(project, sourceSetName)
friendTaskName = taskToFriendTaskMapper[this] outputs.upToDateWhen { isCacheFormatUpToDate }
mapKotlinTaskProperties(project, this) }
outputs.upToDateWhen { isCacheFormatUpToDate }
}
}
fun createKotlinJSTask(project: Project, name: String, sourceSetName: String): Kotlin2JsCompile = fun createKotlinJSTask(project: Project, name: String, sourceSetName: String): Kotlin2JsCompile =
project.tasks.create(name, Kotlin2JsCompile::class.java).apply { project.tasks.create(name, Kotlin2JsCompile::class.java).apply {
this.sourceSetName = sourceSetName configure(project, sourceSetName)
friendTaskName = taskToFriendTaskMapper[this]
} }
fun createKotlinCommonTask(project: Project, name: String, sourceSetName: String): KotlinCompileCommon = fun createKotlinCommonTask(project: Project, name: String, sourceSetName: String): KotlinCompileCommon =
project.tasks.create(name, KotlinCompileCommon::class.java).apply { project.tasks.create(name, KotlinCompileCommon::class.java).apply {
this.sourceSetName = sourceSetName configure(project, sourceSetName)
friendTaskName = taskToFriendTaskMapper[this]
mapKotlinTaskProperties(project, this)
} }
private fun AbstractKotlinCompile<*>.configure(project: Project, sourceSetName: String) {
this.sourceSetName = sourceSetName
this.friendTaskName = taskToFriendTaskMapper[this]
mapKotlinTaskProperties(project, this)
}
protected open val taskToFriendTaskMapper: TaskToFriendTaskMapper = protected open val taskToFriendTaskMapper: TaskToFriendTaskMapper =
RegexTaskToFriendTaskMapper.Default() RegexTaskToFriendTaskMapper.Default()
} }