[Gradle, JS] JS compile tasks nit in archives now

This commit is contained in:
Ilya Goncharov
2019-12-27 17:35:54 +03:00
parent 4861b47f9c
commit d827f9b040
2 changed files with 11 additions and 10 deletions
@@ -88,7 +88,7 @@ internal abstract class KotlinSourceSetProcessor<T : AbstractKotlinCompile<*>>(
protected val sourceSetName: String = kotlinCompilation.compilationName protected val sourceSetName: String = kotlinCompilation.compilationName
override val kotlinTask: TaskProvider<out T> = registerKotlinCompileTask(kotlinCompilation.compileKotlinTaskName) override val kotlinTask: TaskProvider<out T> = prepareKotlinCompileTask(kotlinCompilation.compileKotlinTaskName)
protected val javaSourceSet: SourceSet? protected val javaSourceSet: SourceSet?
get() = get() =
@@ -110,6 +110,11 @@ internal abstract class KotlinSourceSetProcessor<T : AbstractKotlinCompile<*>>(
return File(project.buildDir, "classes/kotlin/$targetSubDirectory${kotlinCompilation.compilationName}") return File(project.buildDir, "classes/kotlin/$targetSubDirectory${kotlinCompilation.compilationName}")
} }
private fun prepareKotlinCompileTask(name: String): TaskProvider<out T> =
registerKotlinCompileTask(name).also { task ->
kotlinCompilation.output.addClassesDir { project.files(task.map { it.destinationDir }) }
}
protected fun registerKotlinCompileTask(): TaskProvider<out T> { protected fun registerKotlinCompileTask(): TaskProvider<out T> {
val name = kotlinCompilation.compileKotlinTaskName val name = kotlinCompilation.compileKotlinTaskName
logger.kotlinDebug("Creating kotlin compile task $name") logger.kotlinDebug("Creating kotlin compile task $name")
@@ -118,14 +123,10 @@ internal abstract class KotlinSourceSetProcessor<T : AbstractKotlinCompile<*>>(
destinationDir.set(project.provider { defaultKotlinDestinationDir }) destinationDir.set(project.provider { defaultKotlinDestinationDir })
} }
val result = doRegisterTask(project, name) { return doRegisterTask(project, name) {
it.description = taskDescription it.description = taskDescription
it.mapClasspath { kotlinCompilation.compileDependencyFiles } it.mapClasspath { kotlinCompilation.compileDependencyFiles }
} }
kotlinCompilation.output.addClassesDir { project.files(result.map { it.destinationDir }) }
return result
} }
override fun run() { override fun run() {
@@ -398,12 +399,12 @@ internal class KotlinJsIrSourceSetProcessor(
listOf( listOf(
compilation.productionLinkTaskName, compilation.productionLinkTaskName,
compilation.developmentLinkTaskName compilation.developmentLinkTaskName
).map { taskName -> ).onEach { taskName ->
registerKotlinCompileTask( registerKotlinCompileTask(
taskName taskName
) )
}.forEach { task -> }.forEach { taskName ->
task.configure { project.tasks.named(taskName) {
it.dependsOn(kotlinTask) it.dependsOn(kotlinTask)
} }
} }
@@ -28,7 +28,7 @@ open class KotlinJsIrPlugin(
val kotlinExtension = project.kotlinExtension as KotlinJsIrProjectExtension val kotlinExtension = project.kotlinExtension as KotlinJsIrProjectExtension
configureDefaultVersionsResolutionStrategy(project, kotlinPluginVersion) configureDefaultVersionsResolutionStrategy(project, kotlinPluginVersion)
val target = KotlinJsIrSingleTargetPreset(project, kotlinPluginVersion).createTarget("Js") val target = KotlinJsIrSingleTargetPreset(project, kotlinPluginVersion).createTarget("jsIr")
kotlinExtension.target = target kotlinExtension.target = target