diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTargetConfigurator.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTargetConfigurator.kt index 9c6fae68ab8..8f5fb587f59 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTargetConfigurator.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTargetConfigurator.kt @@ -22,6 +22,7 @@ import org.gradle.api.plugins.ExtensionAware import org.gradle.api.plugins.JavaBasePlugin import org.gradle.api.tasks.Delete import org.gradle.api.tasks.bundling.Jar +import org.gradle.api.tasks.bundling.Zip import org.gradle.language.base.plugins.LifecycleBasePlugin import org.gradle.language.jvm.tasks.ProcessResources import org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions @@ -350,12 +351,14 @@ abstract class KotlinOnlyTargetConfigurator { val result = target.project.tasks.create(target.artifactsTaskName, Jar::class.java) result.description = "Assembles a jar archive containing the main classes." result.group = BasePlugin.BUILD_GROUP result.from(target.compilations.getByName(KotlinCompilation.MAIN_COMPILATION_NAME).output.allOutputs) + + return ArtifactTypeDefinition.JAR_TYPE to result } override fun configureArchivesAndComponent(target: KotlinTargetType) { @@ -363,17 +366,16 @@ abstract class KotlinOnlyTargetConfigurator jar' if the Java plugin is applied after this steps project.afterEvaluate { - project.artifacts.add(Dependency.ARCHIVES_CONFIGURATION, jar) { jarArtifact -> - jarArtifact.builtBy(jar) - jarArtifact.type = ArtifactTypeDefinition.JAR_TYPE + project.artifacts.add(Dependency.ARCHIVES_CONFIGURATION, task) { jarArtifact -> + jarArtifact.builtBy(task) + jarArtifact.type = type val apiElementsConfiguration = project.configurations.getByName(target.apiElementsConfigurationName) addJar(apiElementsConfiguration, jarArtifact) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTargetConfigurator.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTargetConfigurator.kt index 7ccbfdbeaff..494d0a6658d 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTargetConfigurator.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTargetConfigurator.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.gradle.targets.js -import org.gradle.api.tasks.bundling.Jar import org.gradle.language.base.plugins.LifecycleBasePlugin import org.jetbrains.kotlin.gradle.dsl.kotlinExtension import org.jetbrains.kotlin.gradle.plugin.Kotlin2JsSourceSetProcessor @@ -13,7 +12,6 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinOnlyTargetConfigurator import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSetProcessor import org.jetbrains.kotlin.gradle.plugin.KotlinTargetWithTestsConfigurator import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation -import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinOnlyTarget import org.jetbrains.kotlin.gradle.plugin.mpp.defaultSourceSetName import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTargetConfigurator import org.jetbrains.kotlin.gradle.tasks.KotlinTasksProvider @@ -92,15 +90,6 @@ open class KotlinJsTargetConfigurator(kotlinPluginVersion: String, val irConfigu } } - override fun createJarTasks(target: KotlinOnlyTarget) { - super.createJarTasks(target) - val jar = target.project.tasks.getByName(target.artifactsTaskName) as Jar - - if (irConfigurator != null) { - jar.archiveAppendix.set("legacyJs") - } - } - override fun configureCompilations(target: KotlinJsTarget) { super.configureCompilations(target) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KlibType.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KlibType.kt new file mode 100644 index 00000000000..b0ca01cbbbf --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KlibType.kt @@ -0,0 +1,8 @@ +/* + * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.gradle.targets.js.ir + +const val KLIB_TYPE = "klib" \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrTargetConfigurator.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrTargetConfigurator.kt index 65a7952ccda..43bbacbffba 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrTargetConfigurator.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrTargetConfigurator.kt @@ -5,11 +5,13 @@ package org.jetbrains.kotlin.gradle.targets.js.ir +import org.gradle.api.tasks.bundling.Zip import org.jetbrains.kotlin.gradle.dsl.KotlinJsOptions import org.jetbrains.kotlin.gradle.plugin.KotlinJsIrSourceSetProcessor import org.jetbrains.kotlin.gradle.plugin.KotlinOnlyTargetConfigurator import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSetProcessor import org.jetbrains.kotlin.gradle.plugin.KotlinTargetWithTestsConfigurator +import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinOnlyTarget import org.jetbrains.kotlin.gradle.targets.js.KotlinJsIrReportAggregatingTestRun import org.jetbrains.kotlin.gradle.tasks.KotlinTasksProvider import org.jetbrains.kotlin.gradle.testing.internal.kotlinTestRegistry @@ -21,11 +23,6 @@ open class KotlinJsIrTargetConfigurator(kotlinPluginVersion: String) : override val testRunClass: Class get() = KotlinJsIrReportAggregatingTestRun::class.java - @Deprecated("Remove when legacy js plugin will be removed") - fun configureTarget(target: KotlinJsIrTarget, mixedMode: Boolean) { - super.configureTarget(target) // TODO Add tests support - } - override fun createTestRun( name: String, target: KotlinJsIrTarget @@ -54,6 +51,13 @@ open class KotlinJsIrTargetConfigurator(kotlinPluginVersion: String) : return KotlinJsIrSourceSetProcessor(compilation.target.project, tasksProvider, compilation, kotlinPluginVersion) } + override fun createJarTasks(target: KotlinOnlyTarget): Pair { + val (_, task) = super.createJarTasks(target) + task.archiveExtension.set(KLIB_TYPE) + + return KLIB_TYPE to task + } + override fun configureCompilations(target: KotlinJsIrTarget) { super.configureCompilations(target) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/metadata/KotlinMetadataTargetConfigurator.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/metadata/KotlinMetadataTargetConfigurator.kt index 044f902a28d..4aa19ea2a2c 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/metadata/KotlinMetadataTargetConfigurator.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/metadata/KotlinMetadataTargetConfigurator.kt @@ -14,6 +14,7 @@ import org.gradle.api.plugins.BasePlugin import org.gradle.api.tasks.AbstractCopyTask import org.gradle.api.tasks.TaskProvider import org.gradle.api.tasks.bundling.Jar +import org.gradle.api.tasks.bundling.Zip import org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions import org.jetbrains.kotlin.gradle.dsl.kotlinExtension import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension @@ -23,8 +24,8 @@ import org.jetbrains.kotlin.gradle.plugin.sources.* import org.jetbrains.kotlin.gradle.plugin.statistics.KotlinBuildStatsService import org.jetbrains.kotlin.gradle.tasks.KotlinNativeCompile import org.jetbrains.kotlin.gradle.tasks.KotlinTasksProvider -import org.jetbrains.kotlin.gradle.tasks.registerTask import org.jetbrains.kotlin.gradle.tasks.locateTask +import org.jetbrains.kotlin.gradle.tasks.registerTask import org.jetbrains.kotlin.gradle.utils.addExtendsFromRelation import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName import org.jetbrains.kotlin.gradle.utils.setArchiveAppendixCompatible @@ -131,8 +132,8 @@ class KotlinMetadataTargetConfigurator(kotlinPluginVersion: String) : override fun run() = Unit } - override fun createJarTasks(target: KotlinMetadataTarget) { - super.createJarTasks(target) + override fun createJarTasks(target: KotlinMetadataTarget): Pair { + val result = super.createJarTasks(target) if (target.project.isKotlinGranularMetadataEnabled) { target.project.locateTask(target.artifactsTaskName)!!.configure { @@ -157,6 +158,8 @@ class KotlinMetadataTargetConfigurator(kotlinPluginVersion: String) : } } } + + return result } private fun setupDependencyTransformationForCommonSourceSets(target: KotlinMetadataTarget) {