[Gradle, JS] Deprecation of frontend plugin

^KT-40048 fixed
This commit is contained in:
Ilya Goncharov
2020-07-03 16:39:06 +03:00
parent 56afd763dc
commit cb3d7349a3
2 changed files with 14 additions and 10 deletions
@@ -9,7 +9,6 @@ import com.android.build.gradle.*
import com.android.build.gradle.api.AndroidSourceSet
import com.android.build.gradle.api.BaseVariant
import com.android.build.gradle.api.SourceKind
import com.android.builder.model.SourceProvider
import org.gradle.api.*
import org.gradle.api.artifacts.ExternalDependency
import org.gradle.api.artifacts.maven.Conf2ScopeMappingContainer
@@ -43,6 +42,7 @@ import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsBinaryMode
import org.jetbrains.kotlin.gradle.targets.js.ir.JsIrBinary
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrCompilation
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrLink
import org.jetbrains.kotlin.gradle.targets.js.jsPluginDeprecationMessage
import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget
import org.jetbrains.kotlin.gradle.tasks.*
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
@@ -680,13 +680,7 @@ internal open class Kotlin2JsPlugin(
)
override fun apply(project: Project) {
project.logger.warn(
"""
The `kotlin2js` Gradle plugin has been deprecated.
Please use `org.jetbrains.kotlin.js` plugin instead.
For usage details, see https://kotlinlang.org/docs/reference/js-project-setup.html
""".trimIndent()
)
project.logger.warn(jsPluginDeprecationMessage("kotlin2js"))
val target = KotlinWithJavaTarget<KotlinJsOptions>(project, KotlinPlatformType.js, targetName, { KotlinJsOptionsImpl() })
(project.kotlinExtension as Kotlin2JsProjectExtension).target = target
@@ -18,13 +18,16 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsSingleTargetPreset
import org.jetbrains.kotlin.gradle.plugin.whenEvaluated
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrSingleTargetPreset
import org.jetbrains.kotlin.gradle.utils.*
import org.jetbrains.kotlin.gradle.utils.checkGradleCompatibility
open class KotlinJsPlugin(
private val kotlinPluginVersion: String
) : Plugin<Project> {
override fun apply(project: Project) {
project.pluginManager.withPlugin("org.jetbrains.kotlin.frontend") {
project.logger.warn(jsPluginDeprecationMessage("org.jetbrains.kotlin.frontend"))
}
// TODO get rid of this plugin, too? Use the 'base' plugin instead?
// in fact, the attributes schema of the Java base plugin may be required to consume non-MPP Kotlin/JS libs,
// so investigation is needed
@@ -85,4 +88,11 @@ open class KotlinJsPlugin(
kotlinExtension.sourceSets.maybeCreate(MAIN_COMPILATION_NAME)
kotlinExtension.sourceSets.maybeCreate(TEST_COMPILATION_NAME)
}
}
}
internal fun jsPluginDeprecationMessage(id: String): String =
"""
The `$id` Gradle plugin has been deprecated.
Please use `org.jetbrains.kotlin.js` plugin instead `kotlin2js` and `org.jetbrains.kotlin.frontend`
For usage details, see https://kotlinlang.org/docs/reference/js-project-setup.html
""".trimIndent()