[Gradle, JS] generate typescript only if necessary
This commit is contained in:
committed by
Space Team
parent
f14d9679e0
commit
f6aaf9bf4a
+2
@@ -36,6 +36,8 @@ sealed class JsIrBinary(
|
|||||||
|
|
||||||
val linkTaskName: String = linkTaskName()
|
val linkTaskName: String = linkTaskName()
|
||||||
|
|
||||||
|
var generateTs: Boolean = false
|
||||||
|
|
||||||
val linkTask: TaskProvider<KotlinJsIrLink>
|
val linkTask: TaskProvider<KotlinJsIrLink>
|
||||||
get() = target.project.tasks
|
get() = target.project.tasks
|
||||||
.withType(KotlinJsIrLink::class.java)
|
.withType(KotlinJsIrLink::class.java)
|
||||||
|
|||||||
+12
-17
@@ -26,7 +26,6 @@ import org.jetbrains.kotlin.gradle.targets.js.KotlinJsTarget
|
|||||||
import org.jetbrains.kotlin.gradle.targets.js.binaryen.BinaryenExec
|
import org.jetbrains.kotlin.gradle.targets.js.binaryen.BinaryenExec
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.*
|
import org.jetbrains.kotlin.gradle.targets.js.dsl.*
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.internal.RewriteSourceMapFilterReader
|
import org.jetbrains.kotlin.gradle.targets.js.internal.RewriteSourceMapFilterReader
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.npm.NpmProject
|
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.npm.npmProject
|
import org.jetbrains.kotlin.gradle.targets.js.npm.npmProject
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.typescript.TypeScriptValidationTask
|
import org.jetbrains.kotlin.gradle.targets.js.typescript.TypeScriptValidationTask
|
||||||
import org.jetbrains.kotlin.gradle.tasks.locateOrRegisterTask
|
import org.jetbrains.kotlin.gradle.tasks.locateOrRegisterTask
|
||||||
@@ -161,11 +160,10 @@ constructor(
|
|||||||
|
|
||||||
it.finalizedBy(syncTask)
|
it.finalizedBy(syncTask)
|
||||||
|
|
||||||
if (tsValidationTask != null) {
|
if (binary.generateTs) {
|
||||||
it.finalizedBy(tsValidationTask)
|
it.finalizedBy(tsValidationTask)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -201,21 +199,17 @@ constructor(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun registerTypeScriptCheckTask(binary: JsIrBinary): TaskProvider<TypeScriptValidationTask>? {
|
private fun registerTypeScriptCheckTask(binary: JsIrBinary): TaskProvider<TypeScriptValidationTask> {
|
||||||
val linkTask = binary.linkTask
|
val linkTask = binary.linkTask
|
||||||
val compilation = binary.compilation
|
val compilation = binary.compilation
|
||||||
return if (compilation.name == KotlinCompilation.TEST_COMPILATION_NAME) {
|
return project.registerTask(binary.validateGeneratedTsTaskName, listOf(compilation)) {
|
||||||
null
|
it.inputDir.set(linkTask.flatMap { it.destinationDirectory })
|
||||||
} else {
|
it.validationStrategy.set(
|
||||||
project.registerTask(binary.validateGeneratedTsTaskName, listOf(compilation)) {
|
when (binary.mode) {
|
||||||
it.inputDir.set(linkTask.flatMap { it.destinationDirectory })
|
KotlinJsBinaryMode.DEVELOPMENT -> propertiesProvider.jsIrGeneratedTypeScriptValidationDevStrategy
|
||||||
it.validationStrategy.set(
|
KotlinJsBinaryMode.PRODUCTION -> propertiesProvider.jsIrGeneratedTypeScriptValidationProdStrategy
|
||||||
when (binary.mode) {
|
}
|
||||||
KotlinJsBinaryMode.DEVELOPMENT -> propertiesProvider.jsIrGeneratedTypeScriptValidationDevStrategy
|
)
|
||||||
KotlinJsBinaryMode.PRODUCTION -> propertiesProvider.jsIrGeneratedTypeScriptValidationProdStrategy
|
|
||||||
}
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -388,9 +382,10 @@ constructor(
|
|||||||
override fun generateTypeScriptDefinitions() {
|
override fun generateTypeScriptDefinitions() {
|
||||||
compilations
|
compilations
|
||||||
.all {
|
.all {
|
||||||
binaries
|
it.binaries
|
||||||
.withType(JsIrBinary::class.java)
|
.withType(JsIrBinary::class.java)
|
||||||
.all {
|
.all {
|
||||||
|
it.generateTs = true
|
||||||
it.linkTask.configure { linkTask ->
|
it.linkTask.configure { linkTask ->
|
||||||
linkTask.compilerOptions.freeCompilerArgs.add(GENERATE_D_TS)
|
linkTask.compilerOptions.freeCompilerArgs.add(GENERATE_D_TS)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user