[Gradle, JS] Fix deprecation replace with on register task
This commit is contained in:
+22
-9
@@ -22,10 +22,7 @@ import org.gradle.api.plugins.JavaPluginConvention
|
|||||||
import org.gradle.api.plugins.MavenPluginConvention
|
import org.gradle.api.plugins.MavenPluginConvention
|
||||||
import org.gradle.api.publish.PublishingExtension
|
import org.gradle.api.publish.PublishingExtension
|
||||||
import org.gradle.api.publish.maven.MavenPublication
|
import org.gradle.api.publish.maven.MavenPublication
|
||||||
import org.gradle.api.tasks.CompileClasspathNormalizer
|
import org.gradle.api.tasks.*
|
||||||
import org.gradle.api.tasks.SourceSet
|
|
||||||
import org.gradle.api.tasks.TaskProvider
|
|
||||||
import org.gradle.api.tasks.Upload
|
|
||||||
import org.gradle.api.tasks.compile.AbstractCompile
|
import org.gradle.api.tasks.compile.AbstractCompile
|
||||||
import org.gradle.api.tasks.compile.JavaCompile
|
import org.gradle.api.tasks.compile.JavaCompile
|
||||||
import org.gradle.jvm.tasks.Jar
|
import org.gradle.jvm.tasks.Jar
|
||||||
@@ -39,6 +36,7 @@ import org.jetbrains.kotlin.gradle.logging.kotlinWarn
|
|||||||
import org.jetbrains.kotlin.gradle.model.builder.KotlinModelBuilder
|
import org.jetbrains.kotlin.gradle.model.builder.KotlinModelBuilder
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.*
|
import org.jetbrains.kotlin.gradle.plugin.mpp.*
|
||||||
import org.jetbrains.kotlin.gradle.scripting.internal.ScriptingGradleSubplugin
|
import org.jetbrains.kotlin.gradle.scripting.internal.ScriptingGradleSubplugin
|
||||||
|
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrCompilation
|
||||||
import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget
|
import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget
|
||||||
import org.jetbrains.kotlin.gradle.tasks.*
|
import org.jetbrains.kotlin.gradle.tasks.*
|
||||||
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
||||||
@@ -311,12 +309,12 @@ internal class Kotlin2JsSourceSetProcessor(
|
|||||||
|
|
||||||
private fun registerCleanSourceMapTask() {
|
private fun registerCleanSourceMapTask() {
|
||||||
val taskName = kotlinCompilation.composeName("clean", "sourceMap")
|
val taskName = kotlinCompilation.composeName("clean", "sourceMap")
|
||||||
project.createOrRegisterTask(taskName, {
|
project.registerTask<Delete>(taskName) {
|
||||||
it.onlyIf { kotlinTask.get().kotlinOptions.sourceMap }
|
it.onlyIf { kotlinTask.get().kotlinOptions.sourceMap }
|
||||||
it.delete(object : Closure<String>(this) {
|
it.delete(object : Closure<String>(this) {
|
||||||
override fun call(): String? = (kotlinTask.get().property("outputFile") as File).canonicalPath + ".map"
|
override fun call(): String? = (kotlinTask.get().property("outputFile") as File).canonicalPath + ".map"
|
||||||
})
|
})
|
||||||
})
|
}
|
||||||
project.tasks.findByName("clean")?.dependsOn(taskName)
|
project.tasks.findByName("clean")?.dependsOn(taskName)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -344,6 +342,21 @@ internal class KotlinJsIrSourceSetProcessor(
|
|||||||
|
|
||||||
registerCleanSourceMapTask()
|
registerCleanSourceMapTask()
|
||||||
|
|
||||||
|
val compilation = kotlinCompilation as KotlinJsIrCompilation
|
||||||
|
|
||||||
|
listOf(
|
||||||
|
compilation.productionCompileTaskName,
|
||||||
|
compilation.developmentCompileTaskName
|
||||||
|
).forEach { taskName ->
|
||||||
|
doRegisterTask(
|
||||||
|
project,
|
||||||
|
taskName
|
||||||
|
) {
|
||||||
|
it.description = taskDescription
|
||||||
|
it.mapClasspath { kotlinCompilation.compileDependencyFiles }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// outputFile can be set later during the configuration phase, get it only after the phase:
|
// outputFile can be set later during the configuration phase, get it only after the phase:
|
||||||
project.runOnceAfterEvaluated("Kotlin2JsSourceSetProcessor.doTargetSpecificProcessing", kotlinTask) {
|
project.runOnceAfterEvaluated("Kotlin2JsSourceSetProcessor.doTargetSpecificProcessing", kotlinTask) {
|
||||||
val kotlinTaskInstance = kotlinTask.get()
|
val kotlinTaskInstance = kotlinTask.get()
|
||||||
@@ -373,7 +386,7 @@ internal class KotlinJsIrSourceSetProcessor(
|
|||||||
|
|
||||||
private fun registerCleanSourceMapTask() {
|
private fun registerCleanSourceMapTask() {
|
||||||
val taskName = kotlinCompilation.composeName("clean", "sourceMap")
|
val taskName = kotlinCompilation.composeName("clean", "sourceMap")
|
||||||
project.createOrRegisterTask(taskName) {
|
project.registerTask<Delete>(taskName) {
|
||||||
it.onlyIf { kotlinTask.get().kotlinOptions.sourceMap }
|
it.onlyIf { kotlinTask.get().kotlinOptions.sourceMap }
|
||||||
it.delete(object : Closure<String>(this) {
|
it.delete(object : Closure<String>(this) {
|
||||||
override fun call(): String? = (kotlinTask.get().property("outputFile") as File).canonicalPath + ".map"
|
override fun call(): String? = (kotlinTask.get().property("outputFile") as File).canonicalPath + ".map"
|
||||||
@@ -511,12 +524,12 @@ internal abstract class AbstractKotlinPlugin(
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
val inspectTask =
|
val inspectTask =
|
||||||
project.createOrRegisterTask("inspectClassesForKotlinIC", {
|
project.registerTask<InspectClassesForMultiModuleIC>("inspectClassesForKotlinIC") {
|
||||||
it.sourceSetName = SourceSet.MAIN_SOURCE_SET_NAME
|
it.sourceSetName = SourceSet.MAIN_SOURCE_SET_NAME
|
||||||
it.archivePath.set(project.provider { jarTask.archivePathCompatible.canonicalPath })
|
it.archivePath.set(project.provider { jarTask.archivePathCompatible.canonicalPath })
|
||||||
it.archiveName.set(project.provider { jarTask.archiveNameCompatible })
|
it.archiveName.set(project.provider { jarTask.archiveNameCompatible })
|
||||||
it.dependsOn(classesTask)
|
it.dependsOn(classesTask)
|
||||||
})
|
}
|
||||||
jarTask.dependsOn(inspectTask)
|
jarTask.dependsOn(inspectTask)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+4
-2
@@ -20,15 +20,17 @@ import org.gradle.api.Project
|
|||||||
import org.gradle.api.Task
|
import org.gradle.api.Task
|
||||||
import org.gradle.api.UnknownTaskException
|
import org.gradle.api.UnknownTaskException
|
||||||
import org.gradle.api.tasks.TaskProvider
|
import org.gradle.api.tasks.TaskProvider
|
||||||
import org.jetbrains.kotlin.gradle.plugin.*
|
import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.mapKotlinTaskProperties
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.AbstractKotlinCompilation
|
import org.jetbrains.kotlin.gradle.plugin.mpp.AbstractKotlinCompilation
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.runOnceAfterEvaluated
|
||||||
import org.jetbrains.kotlin.gradle.plugin.sources.applyLanguageSettingsToKotlinOptions
|
import org.jetbrains.kotlin.gradle.plugin.sources.applyLanguageSettingsToKotlinOptions
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Registers the task with [name] and [type] and initialization script [body]
|
* Registers the task with [name] and [type] and initialization script [body]
|
||||||
*/
|
*/
|
||||||
@JvmName("registerTaskOld")
|
@JvmName("registerTaskOld")
|
||||||
@Deprecated("please use Project.createOrRegisterTask", ReplaceWith("project.createOrRegisterTask(name, body)"))
|
@Deprecated("please use Project.createOrRegisterTask", ReplaceWith("project.registerTask(name, type, emptyList(), body)"))
|
||||||
internal fun <T : Task> registerTask(project: Project, name: String, type: Class<T>, body: (T) -> (Unit)): TaskProvider<T> =
|
internal fun <T : Task> registerTask(project: Project, name: String, type: Class<T>, body: (T) -> (Unit)): TaskProvider<T> =
|
||||||
project.registerTask(name, type, emptyList(), body)
|
project.registerTask(name, type, emptyList(), body)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user