diff --git a/libraries/tools/kotlin-gradle-plugin-api/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-api/build.gradle.kts index 9a7f80f87cb..dc68ce1e4a5 100644 --- a/libraries/tools/kotlin-gradle-plugin-api/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-api/build.gradle.kts @@ -28,7 +28,9 @@ tasks { kotlinOptions.languageVersion = "1.3" kotlinOptions.apiVersion = "1.3" kotlinOptions.freeCompilerArgs += listOf( - "-Xskip-prerelease-check", "-Xsuppress-version-warnings" + "-Xskip-prerelease-check", + "-Xskip-runtime-version-check", + "-Xsuppress-version-warnings" ) } diff --git a/libraries/tools/kotlin-gradle-plugin/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin/build.gradle.kts index 578789358cc..f36f55a6f47 100644 --- a/libraries/tools/kotlin-gradle-plugin/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin/build.gradle.kts @@ -129,7 +129,9 @@ tasks { kotlinOptions.languageVersion = "1.3" kotlinOptions.apiVersion = "1.3" kotlinOptions.freeCompilerArgs += listOf( - "-Xskip-prerelease-check", "-Xsuppress-version-warnings" + "-Xskip-prerelease-check", + "-Xskip-runtime-version-check", + "-Xsuppress-version-warnings" ) } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinMultiplatformExtension.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinMultiplatformExtension.kt index c882900a9d3..fa245bc9810 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinMultiplatformExtension.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinMultiplatformExtension.kt @@ -79,9 +79,9 @@ internal fun KotlinTargetsContainerWithPresets.configureOrCre else -> { throw InvalidUserCodeException( "The target '$targetName' already exists, but it was not created with the '${targetPreset.name}' preset. " + - "To configure it, access it by name in `kotlin.targets`" + - " or use the preset function '${existingTarget.preset?.name}'." - .takeIf { existingTarget.preset != null } ?: "." + "To configure it, access it by name in `kotlin.targets`" + + (" or use the preset function '${existingTarget.preset?.name}'." + .takeIf { existingTarget.preset != null } ?: ".") ) } } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinNativeBinaryContainer.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinNativeBinaryContainer.kt index 18e1f894cd5..b509027150a 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinNativeBinaryContainer.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinNativeBinaryContainer.kt @@ -5,7 +5,10 @@ package org.jetbrains.kotlin.gradle.dsl -import org.gradle.api.* +import org.gradle.api.DomainObjectSet +import org.gradle.api.Named +import org.gradle.api.NamedDomainObjectSet +import org.gradle.api.Project import org.gradle.api.plugins.ExtensionAware import org.gradle.util.WrapUtil import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation @@ -51,7 +54,7 @@ open class KotlinNativeBinaryContainer @Inject constructor( "Binary $name has incorrect outputKind or build type.\n" + "Expected: ${buildType.getName()} $classifier. Actual: ${binary.buildType.getName()} ${binary.outputKind.taskNameClassifier}." } - return binary as T + return binary } private inline fun findBinary( diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinProjectExtension.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinProjectExtension.kt index 03991f5572d..c3c8b394424 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinProjectExtension.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinProjectExtension.kt @@ -129,6 +129,7 @@ open class KotlinJsProjectExtension(project: Project) : } @Deprecated("Use js() instead", ReplaceWith("js()")) + @Suppress("DEPRECATION") override var target: KotlinJsTargetDsl get() { if (_target == null) { @@ -142,6 +143,7 @@ open class KotlinJsProjectExtension(project: Project) : override lateinit var defaultJsCompilerType: KotlinJsCompilerType + @Suppress("DEPRECATION") private fun jsInternal( compiler: KotlinJsCompilerType? = null, body: KotlinJsTargetDsl.() -> Unit @@ -230,6 +232,7 @@ open class KotlinJsProjectExtension(project: Project) : "Needed for IDE import using the MPP import mechanism", level = DeprecationLevel.HIDDEN ) + @Suppress("DEPRECATION") fun getTargets(): NamedDomainObjectContainer? = _target?.let { target -> target.project.container(KotlinTarget::class.java) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinTargetContainerWithJsPresetFunctions.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinTargetContainerWithJsPresetFunctions.kt index d3217d33e56..66d613fb3c9 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinTargetContainerWithJsPresetFunctions.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinTargetContainerWithJsPresetFunctions.kt @@ -96,6 +96,7 @@ private fun KotlinTargetContainerWithJsPresetFunctions.jsInternal( } reportJsCompilerMode(compilerOrDefault) + @Suppress("UNCHECKED_CAST") return configureOrCreate( targetName, presets.getByName( @@ -144,4 +145,4 @@ private fun getTargetName(name: String, compiler: KotlinJsCompilerType?): String name, if (compiler == KotlinJsCompilerType.BOTH) KotlinJsCompilerType.LEGACY.lowerName else null ) -} \ No newline at end of file +} diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/incremental/ChangedFiles.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/incremental/ChangedFiles.kt index 8b5307f3b7c..8b739276c3f 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/incremental/ChangedFiles.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/incremental/ChangedFiles.kt @@ -5,12 +5,12 @@ package org.jetbrains.kotlin.gradle.incremental -import org.gradle.api.tasks.incremental.IncrementalTaskInputs import org.jetbrains.kotlin.incremental.ChangedFiles import java.io.File -import java.util.* -internal fun ChangedFiles(taskInputs: IncrementalTaskInputs): ChangedFiles { +internal fun ChangedFiles( + @Suppress("DEPRECATION") taskInputs: org.gradle.api.tasks.incremental.IncrementalTaskInputs +): ChangedFiles { if (!taskInputs.isIncremental) return ChangedFiles.Unknown() val modified = ArrayList() diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/Kapt3KotlinGradleSubplugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/Kapt3KotlinGradleSubplugin.kt index 503c84aada8..b2b1d20e04b 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/Kapt3KotlinGradleSubplugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/Kapt3KotlinGradleSubplugin.kt @@ -757,7 +757,7 @@ internal fun registerGeneratedJavaSource(kaptTask: TaskProvider, j } } -internal fun Configuration.getNamedDependencies(): List = allDependencies.filter { it.group != null && it.name != null } +internal fun Configuration.getNamedDependencies(): List = allDependencies.filter { it.group != null } private val ANNOTATION_PROCESSOR = "annotationProcessor" private val ANNOTATION_PROCESSOR_CAP = ANNOTATION_PROCESSOR.capitalize() diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/KaptWithoutKotlincTask.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/KaptWithoutKotlincTask.kt index 5b62b1dbf6d..e2415988dc3 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/KaptWithoutKotlincTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/KaptWithoutKotlincTask.kt @@ -6,7 +6,6 @@ package org.jetbrains.kotlin.gradle.internal import org.gradle.api.file.ConfigurableFileCollection -import org.gradle.api.file.DirectoryProperty import org.gradle.api.model.ObjectFactory import org.gradle.api.provider.Property import org.gradle.api.tasks.* @@ -84,10 +83,10 @@ abstract class KaptWithoutKotlincTask @Inject constructor( for (option in options) { result[option.key] = option.value } - annotationProcessorOptionProviders.forEach { - (it as List).forEach { - (it as CommandLineArgumentProvider).asArguments().forEach { - result[it.removePrefix("-A")] = "" + annotationProcessorOptionProviders.forEach { providers -> + (providers as List<*>).forEach { provider -> + (provider as CommandLineArgumentProvider).asArguments().forEach { argument -> + result[argument.removePrefix("-A")] = "" } } } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/logging/GradlePrintingMessageCollector.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/logging/GradlePrintingMessageCollector.kt index 755f7bc79da..310dfa1a981 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/logging/GradlePrintingMessageCollector.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/logging/GradlePrintingMessageCollector.kt @@ -6,8 +6,8 @@ package org.jetbrains.kotlin.gradle.logging import org.gradle.api.logging.Logger -import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSourceLocation import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity +import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSourceLocation import org.jetbrains.kotlin.cli.common.messages.GradleStyleMessageRenderer import org.jetbrains.kotlin.cli.common.messages.MessageCollector import org.jetbrains.kotlin.compilerRunner.KotlinLogger @@ -32,6 +32,7 @@ internal class GradlePrintingMessageCollector( override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageSourceLocation?) { val renderedMessage = messageRenderer.render(severity, message, location) + @Suppress("UNNECESSARY_NOT_NULL_ASSERTION") when (severity) { CompilerMessageSeverity.ERROR, CompilerMessageSeverity.EXCEPTION -> { @@ -56,4 +57,4 @@ internal class GradlePrintingMessageCollector( } }!! // !! is used to force compile-time exhaustiveness } -} \ No newline at end of file +} diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KaptExtension.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KaptExtension.kt index b472344244d..a659f49aeab 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KaptExtension.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KaptExtension.kt @@ -65,6 +65,7 @@ open class KaptExtension { private var apOptionsClosure: Closure<*>? = null private var javacOptionsClosure: Closure<*>? = null + @Suppress("DEPRECATION") open fun annotationProcessor(fqName: String) { val oldProcessors = this.processors this.processors = if (oldProcessors.isEmpty()) fqName else "$oldProcessors,$fqName" diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt index dcce793e5fa..94360c5dd10 100755 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt @@ -701,9 +701,7 @@ internal open class KotlinAndroidPlugin( } companion object { - fun androidTargetHandler( - androidTarget: KotlinAndroidTarget - ): AbstractAndroidProjectHandler { + fun androidTargetHandler(): AbstractAndroidProjectHandler { val tasksProvider = AndroidTasksProvider() if (androidPluginVersion != null) { @@ -720,15 +718,14 @@ internal open class KotlinAndroidPlugin( return Android25ProjectHandler(kotlinTools) } - fun applyToTarget( - kotlinTarget: KotlinAndroidTarget - ) { - androidTargetHandler(kotlinTarget).configureTarget(kotlinTarget) + fun applyToTarget(kotlinTarget: KotlinAndroidTarget) { + androidTargetHandler().configureTarget(kotlinTarget) } } } class KotlinConfigurationTools internal constructor( + @Suppress("EXPOSED_PROPERTY_TYPE_IN_CONSTRUCTOR") val kotlinTasksProvider: KotlinTasksProvider ) @@ -841,7 +838,7 @@ abstract class AbstractAndroidProjectHandler(private val kotlinConfigurationTool project.addExtendsFromRelation(androidSourceSet.apiConfigurationName, apiConfigurationName) } else { // If any dependency is added to this configuration, report an error: - project.configurations.getByName(apiConfigurationName).dependencies.all { dependency -> + project.configurations.getByName(apiConfigurationName).dependencies.all { throw InvalidUserCodeException( "API dependencies are not allowed for Android source set ${androidSourceSet.name}. " + "Please use an implementation dependency instead." diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPluginWrapper.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPluginWrapper.kt index 4eea3046c79..33effedb85a 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPluginWrapper.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPluginWrapper.kt @@ -37,7 +37,7 @@ import org.jetbrains.kotlin.gradle.plugin.statistics.KotlinBuildStatsService import org.jetbrains.kotlin.gradle.targets.js.KotlinJsCompilerAttribute import org.jetbrains.kotlin.gradle.targets.js.KotlinJsPlugin import org.jetbrains.kotlin.gradle.targets.js.npm.addNpmDependencyExtension -import org.jetbrains.kotlin.gradle.tasks.* +import org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile import org.jetbrains.kotlin.gradle.tasks.KOTLIN_COMPILER_EMBEDDABLE import org.jetbrains.kotlin.gradle.tasks.KOTLIN_KLIB_COMMONIZER_EMBEDDABLE import org.jetbrains.kotlin.gradle.tasks.KOTLIN_MODULE_GROUP @@ -63,7 +63,7 @@ abstract class KotlinBasePluginWrapper : Plugin { val kotlinPluginVersion = project.getKotlinPluginVersion() val listenerRegistryHolder = BuildEventsListenerRegistryHolder.getInstance(project) - val statisticsReporter = KotlinBuildStatsService.getOrCreateInstance(project, listenerRegistryHolder) + val statisticsReporter = KotlinBuildStatsService.getOrCreateInstance(project) statisticsReporter?.report(StringMetrics.KOTLIN_COMPILER_VERSION, kotlinPluginVersion) checkGradleCompatibility() 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 325afddcc52..ff22c33ffc4 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 @@ -16,7 +16,6 @@ import org.gradle.api.attributes.Usage import org.gradle.api.attributes.Usage.USAGE_ATTRIBUTE import org.gradle.api.file.FileCollection import org.gradle.api.internal.artifacts.ArtifactAttributes -import org.gradle.api.internal.plugins.DslObject import org.gradle.api.plugins.BasePlugin import org.gradle.api.plugins.ExtensionAware import org.gradle.api.plugins.JavaBasePlugin @@ -272,7 +271,7 @@ abstract class AbstractKotlinTargetConfigurator val target = compilation.target val configurations = target.project.configurations - val pluginConfiguration = configurations.maybeCreate(compilation.pluginConfigurationName).apply { + configurations.maybeCreate(compilation.pluginConfigurationName).apply { if (target.platformType == KotlinPlatformType.native) { extendsFrom(configurations.getByName(NATIVE_COMPILER_PLUGIN_CLASSPATH_CONFIGURATION_NAME)) isTransitive = false @@ -317,7 +316,7 @@ abstract class AbstractKotlinTargetConfigurator description = "Compile only dependencies for $compilation." } - val compileClasspathConfiguration = configurations.maybeCreate(compilation.compileDependencyConfigurationName).apply { + configurations.maybeCreate(compilation.compileDependencyConfigurationName).apply { extendsFrom(compileOnlyConfiguration, implementationConfiguration) usesPlatformOf(target) isVisible = false @@ -344,7 +343,7 @@ abstract class AbstractKotlinTargetConfigurator description = "Runtime only dependencies for $compilation." } - val runtimeClasspathConfiguration = configurations.maybeCreate(compilation.runtimeDependencyConfigurationName).apply { + configurations.maybeCreate(compilation.runtimeDependencyConfigurationName).apply { extendsFrom(runtimeOnlyConfiguration, implementationConfiguration) runtimeConfiguration?.let { extendsFrom(it) } usesPlatformOf(target) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/SubpluginEnvironment.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/SubpluginEnvironment.kt index 3bfb87be89b..a644cf13a7d 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/SubpluginEnvironment.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/SubpluginEnvironment.kt @@ -7,8 +7,10 @@ import org.gradle.api.tasks.compile.AbstractCompile import org.gradle.api.tasks.compile.JavaCompile import org.jetbrains.kotlin.gradle.dsl.KotlinCompile import org.jetbrains.kotlin.gradle.logging.kotlinDebug -import org.jetbrains.kotlin.gradle.plugin.mpp.* -import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.KotlinCompilationData +import org.jetbrains.kotlin.gradle.plugin.mpp.AbstractKotlinNativeCompilation +import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJvmAndroidCompilation +import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJvmCompilation +import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinWithJavaCompilation import org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile import org.jetbrains.kotlin.gradle.tasks.CompilerPluginOptions import org.jetbrains.kotlin.gradle.tasks.KotlinNativeCompile @@ -127,7 +129,7 @@ internal fun addCompilationSourcesToExternalCompileTask(compilation: KotlinCompi internal class LegacyKotlinCompilerPluginSupportPlugin( @Suppress("deprecation") // support for deprecated API val oldPlugin: KotlinGradleSubplugin -): KotlinCompilerPluginSupportPlugin { +) : KotlinCompilerPluginSupportPlugin { override fun isApplicable(kotlinCompilation: KotlinCompilation<*>): Boolean = oldPlugin.isApplicable(kotlinCompilation.target.project, kotlinCompilation.compileKotlinTaskProvider.get() as AbstractCompile) @@ -136,10 +138,8 @@ internal class LegacyKotlinCompilerPluginSupportPlugin( ): Provider> { val project = kotlinCompilation.target.project - val androidProjectHandlerOrNull: AbstractAndroidProjectHandler? = if (kotlinCompilation is KotlinJvmAndroidCompilation) - KotlinAndroidPlugin.androidTargetHandler( - kotlinCompilation.target as KotlinAndroidTarget - ) else null + val androidProjectHandlerOrNull: AbstractAndroidProjectHandler? = + if (kotlinCompilation is KotlinJvmAndroidCompilation) KotlinAndroidPlugin.androidTargetHandler() else null val variantData = (kotlinCompilation as? KotlinJvmAndroidCompilation)?.androidVariant diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/GranularMetadataTransformation.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/GranularMetadataTransformation.kt index 79d8c2fd6ba..05ca0aec86f 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/GranularMetadataTransformation.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/GranularMetadataTransformation.kt @@ -391,7 +391,6 @@ private class ProjectMppDependencyMetadataExtractor( is KotlinMultiplatformExtension -> projectExtension.targets.getByName(KotlinMultiplatformPlugin.METADATA_TARGET_NAME).compilations .filter { it.name in visibleSourceSetNames }.associate { it.defaultSourceSet.name to it.output.classesDirs } is KotlinPm20ProjectExtension -> { - require(moduleIdentifier != null) val moduleId = moduleIdentifier val module = projectExtension.modules.single { it.moduleIdentifier == moduleId } val metadataCompilationRegistry = projectExtension.metadataCompilationRegistryByModuleId.getValue(moduleId) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinProjectStructureMetadata.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinProjectStructureMetadata.kt index 81ae2c203ce..008530649fb 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinProjectStructureMetadata.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinProjectStructureMetadata.kt @@ -82,7 +82,7 @@ sealed class SourceSetMetadataLayout( fun byName(name: String): SourceSetMetadataLayout? = values.firstOrNull { it.name == name } - fun chooseForProducingProject(project: Project) = + fun chooseForProducingProject() = /** A producing project will now only generate Granular source sets metadata as a KLIB */ KLIB } @@ -173,7 +173,7 @@ internal fun buildKotlinProjectStructureMetadata(project: Project): KotlinProjec .filter { it in sourceSetsWithMetadataCompilations }.map { it.name } .toSet(), sourceSetBinaryLayout = sourceSetsWithMetadataCompilations.keys.associate { sourceSet -> - sourceSet.name to SourceSetMetadataLayout.chooseForProducingProject(project) + sourceSet.name to SourceSetMetadataLayout.chooseForProducingProject() }, isPublishedAsRoot = true ) @@ -285,7 +285,6 @@ private val NodeList.elements: Iterable get() = (0 until length).map { internal fun parseKotlinSourceSetMetadataFromJson(string: String): KotlinProjectStructureMetadata? { @Suppress("DEPRECATION") // The replacement doesn't compile against old dependencies such as AS 4.0 val json = JsonParser().parse(string).asJsonObject - val nodeNamed: JsonObject.(String) -> JsonObject? = { name -> get(name)?.asJsonObject } val valueNamed: JsonObject.(String) -> String? = { name -> get(name)?.asString } val multiObjects: JsonObject.(String?) -> Iterable = { name -> get(name).asJsonArray.map { it.asJsonObject } } val multiValues: JsonObject.(String?) -> Iterable = { name -> get(name).asJsonArray.map { it.asString } } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/kotlinTargets.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/kotlinTargets.kt index d4e784d89e7..977a265245b 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/kotlinTargets.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/kotlinTargets.kt @@ -139,7 +139,7 @@ abstract class AbstractKotlinTarget( object : ComponentWithVariants, ComponentWithCoordinates, SoftwareComponentInternal { override fun getCoordinates() = (kotlinVariant as? ComponentWithCoordinates)?.coordinates - override fun getVariants(): Set = + override fun getVariants(): Set = (kotlinVariant as? KotlinVariantWithMetadataVariant)?.variants.orEmpty() override fun getName(): String = adhocVariant.name diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/mppDependencyRewritingUtils.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/mppDependencyRewritingUtils.kt index 1bf5caae4c3..627b3ed4826 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/mppDependencyRewritingUtils.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/mppDependencyRewritingUtils.kt @@ -151,7 +151,7 @@ private fun associateDependenciesWithActualModuleDependencies( val dependencyProjectKotlinExtension = dependencyProject.multiplatformExtensionOrNull ?: return@associate noMapping - val resolved = resolvedDependencies[Triple(dependency.group, dependency.name, dependency.version)] + val resolved = resolvedDependencies[Triple(dependency.group!!, dependency.name, dependency.version!!)] ?: return@associate noMapping val resolvedToConfiguration = resolved.configuration @@ -185,7 +185,7 @@ private fun associateDependenciesWithActualModuleDependencies( ) } else -> { - val resolvedDependency = resolvedDependencies[Triple(dependency.group, dependency.name, dependency.version)] + val resolvedDependency = resolvedDependencies[Triple(dependency.group!!, dependency.name, dependency.version!!)] ?: return@associate noMapping if (resolvedDependency.moduleArtifacts.isEmpty() && resolvedDependency.children.size == 1) { diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradlePlugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradlePlugin.kt index 43dc7afe3c8..d2cecaf14b2 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradlePlugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradlePlugin.kt @@ -146,7 +146,7 @@ open class KotlinPm20ProjectExtension(project: Project) : KotlinTopLevelExtensio @PublishedApi @JvmName("isAllowCommonizer") - internal fun isAllowCommonizerForIde(project: Project): Boolean = false + internal fun isAllowCommonizerForIde(@Suppress("UNUSED_PARAMETER") project: Project): Boolean = false } val KotlinGradleModule.jvm: KotlinJvmVariant diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/sources/DefaultKotlinSourceSet.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/sources/DefaultKotlinSourceSet.kt index 26a3d3eeaed..249492df73c 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/sources/DefaultKotlinSourceSet.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/sources/DefaultKotlinSourceSet.kt @@ -246,7 +246,7 @@ internal fun KotlinSourceSet.disambiguateName(simpleName: String): String { } private fun createDefaultSourceDirectorySet(project: Project, name: String?): SourceDirectorySet = - project.objects.sourceDirectorySet(name, name) + project.objects.sourceDirectorySet(name!!, name) /** * Like [resolveAllDependsOnSourceSets] but will include the receiver source set also! diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/statistics/KotlinBuildStatHandler.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/statistics/KotlinBuildStatHandler.kt index a92777d168f..15164bb1a0a 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/statistics/KotlinBuildStatHandler.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/statistics/KotlinBuildStatHandler.kt @@ -102,7 +102,7 @@ class KotlinBuildStatHandler { when (configurationName) { "kapt" -> { sessionLogger.report(BooleanMetrics.ENABLED_KAPT, true) - dependencies?.forEach { dependency -> + for (dependency in dependencies) { when (dependency.group) { "com.google.dagger" -> sessionLogger.report(BooleanMetrics.ENABLED_DAGGER, true) "com.android.databinding" -> sessionLogger.report(BooleanMetrics.ENABLED_DATABINDING, true) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/statistics/KotlinBuildStatsService.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/statistics/KotlinBuildStatsService.kt index af62633d919..9a3b192a696 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/statistics/KotlinBuildStatsService.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/statistics/KotlinBuildStatsService.kt @@ -12,7 +12,6 @@ import org.gradle.api.invocation.Gradle import org.gradle.api.logging.Logging import org.gradle.initialization.BuildRequestMetaData import org.gradle.invocation.DefaultGradle -import org.jetbrains.kotlin.gradle.plugin.BuildEventsListenerRegistryHolder import org.jetbrains.kotlin.gradle.plugin.statistics.KotlinBuildStatHandler.Companion.runSafe import org.jetbrains.kotlin.gradle.utils.isConfigurationCacheAvailable import org.jetbrains.kotlin.statistics.BuildSessionLogger @@ -85,7 +84,7 @@ internal abstract class KotlinBuildStatsService internal constructor() : BuildAd */ @JvmStatic @Synchronized - internal fun getOrCreateInstance(project: Project, listenerRegistryHolder: BuildEventsListenerRegistryHolder): IStatisticsValuesConsumer? { + internal fun getOrCreateInstance(project: Project): IStatisticsValuesConsumer? { return runSafe("${KotlinBuildStatsService::class.java}.getOrCreateInstance") { val gradle = project.gradle @@ -106,7 +105,7 @@ internal abstract class KotlinBuildStatsService internal constructor() : BuildAd ) instance = JMXKotlinBuildStatsService(mbs, beanName) } else { - val kotlinBuildStatProvider = project.provider{ KotlinBuildStatListener(beanName) } + project.provider { KotlinBuildStatListener(beanName) } val newInstance = DefaultKotlinBuildStatsService(gradle, beanName) instance = newInstance @@ -115,7 +114,7 @@ internal abstract class KotlinBuildStatsService internal constructor() : BuildAd } if (!isConfigurationCacheAvailable(gradle)) { - gradle.addBuildListener(instance) + gradle.addBuildListener(instance!!) } } instance diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/android/KotlinAndroidTarget.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/android/KotlinAndroidTarget.kt index cbc78729430..1c63932feed 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/android/KotlinAndroidTarget.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/android/KotlinAndroidTarget.kt @@ -71,9 +71,7 @@ open class KotlinAndroidTarget( } } - val variantNames = - KotlinAndroidPlugin.androidTargetHandler(this) - .getLibraryVariantNames() + val variantNames = KotlinAndroidPlugin.androidTargetHandler().getLibraryVariantNames() val missingVariants = publishLibraryVariants?.minus(variantNames).orEmpty() @@ -90,7 +88,7 @@ open class KotlinAndroidTarget( override val kotlinComponents by lazy { checkPublishLibraryVariantsExist() - KotlinAndroidPlugin.androidTargetHandler(this).doCreateComponents() + KotlinAndroidPlugin.androidTargetHandler().doCreateComponents() } private fun isVariantPublished(variant: BaseVariant): Boolean { diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTargetPreset.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTargetPreset.kt index 7414f251d3f..b9b1b24b277 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTargetPreset.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTargetPreset.kt @@ -92,7 +92,7 @@ open class KotlinJsTargetPreset( } override fun createCompilationFactory(forTarget: KotlinJsTarget): KotlinJsCompilationFactory { - return KotlinJsCompilationFactory(project, forTarget, irPreset?.let { (forTarget as KotlinJsTarget).irTarget }) + return KotlinJsCompilationFactory(project, forTarget, irPreset?.let { forTarget.irTarget }) } companion object { diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/dsl/ExperimentalDceDsl.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/dsl/ExperimentalDceDsl.kt index 01fc77d10f3..177e58778a5 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/dsl/ExperimentalDceDsl.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/dsl/ExperimentalDceDsl.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.gradle.targets.js.dsl -@Experimental(level = Experimental.Level.WARNING) -// TODO: @RequiresOptIn(level = RequiresOptIn.Level.WARNING) +@RequiresOptIn(level = RequiresOptIn.Level.WARNING) @Target(AnnotationTarget.FUNCTION) annotation class ExperimentalDceDsl diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/dsl/ExperimentalDistributionDsl.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/dsl/ExperimentalDistributionDsl.kt index 4074f046e98..2794d149a4c 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/dsl/ExperimentalDistributionDsl.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/dsl/ExperimentalDistributionDsl.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.gradle.targets.js.dsl -@Experimental(level = Experimental.Level.WARNING) -// TODO: @RequiresOptIn(level = RequiresOptIn.Level.WARNING) +@RequiresOptIn(level = RequiresOptIn.Level.WARNING) @Target(AnnotationTarget.FUNCTION) annotation class ExperimentalDistributionDsl diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsBinaryContainer.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsBinaryContainer.kt index 11738778671..900a0f24367 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsBinaryContainer.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsBinaryContainer.kt @@ -82,12 +82,12 @@ constructor( private fun executableLegacyInternal(compilation: KotlinJsCompilation) = createBinaries( compilation = compilation, jsBinaryType = KotlinJsBinaryType.EXECUTABLE, - create = { compilation, name, type -> + create = { jsCompilation, name, type -> object : JsBinary { - override val compilation: KotlinJsCompilation = compilation + override val compilation: KotlinJsCompilation = jsCompilation override val name: String = name override val mode: KotlinJsBinaryMode = type - override val distribution: Distribution = DefaultDistribution(compilation.target.project) + override val distribution: Distribution = DefaultDistribution(jsCompilation.target.project) } } ) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrLink.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrLink.kt index 1aed8166b3c..99055052aaf 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrLink.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrLink.kt @@ -10,7 +10,6 @@ import org.gradle.api.file.FileTree import org.gradle.api.file.RegularFileProperty import org.gradle.api.model.ObjectFactory import org.gradle.api.tasks.* -import org.gradle.api.tasks.incremental.IncrementalTaskInputs import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments import org.jetbrains.kotlin.gradle.dsl.KotlinJsOptions import org.jetbrains.kotlin.gradle.dsl.KotlinJsOptionsImpl @@ -50,9 +49,8 @@ open class KotlinJsIrLink @Inject constructor( ) } - override fun skipCondition(inputs: IncrementalTaskInputs): Boolean { - return !inputs.isIncremental && !entryModule.exists() - } + override fun skipCondition(): Boolean = + !entryModule.exists() override fun getDestinationDir(): File { return if (kotlinOptions.outputFile == null) { @@ -84,4 +82,4 @@ open class KotlinJsIrLink @Inject constructor( PRODUCE_JS + "$ENTRY_IR_MODULE=${entryModule.canonicalPath}" } -} \ No newline at end of file +} diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrSubTarget.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrSubTarget.kt index 7ad6c4e6456..7056d3a4c7e 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrSubTarget.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrSubTarget.kt @@ -196,8 +196,6 @@ abstract class KotlinJsIrSubTarget( protected open fun configureLibrary(compilation: KotlinJsIrCompilation) { val project = compilation.target.project - val processResourcesTask = target.project.tasks.named(compilation.processResourcesTaskName) - val assembleTaskProvider = project.tasks.named(LifecycleBasePlugin.ASSEMBLE_TASK_NAME) val npmProject = compilation.npmProject diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/nodejs/NodeJsRootExtension.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/nodejs/NodeJsRootExtension.kt index 338fc80674f..fa1e7628dd2 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/nodejs/NodeJsRootExtension.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/nodejs/NodeJsRootExtension.kt @@ -58,15 +58,18 @@ open class NodeJsRootExtension(@Transient val rootProject: Project) : Configurat val nodeJsSetupTaskProvider: TaskProvider get() = rootProject.tasks.withType(NodeJsSetupTask::class.java).named(NodeJsSetupTask.NAME) + @Suppress("UNNECESSARY_SAFE_CALL") // TODO: investigate this warning; fixing it breaks integration tests. val npmInstallTaskProvider: TaskProvider? get() = rootProject?.tasks?.withType(KotlinNpmInstallTask::class.java)?.named(KotlinNpmInstallTask.NAME) val packageJsonUmbrellaTaskProvider: TaskProvider get() = rootProject.tasks.named(PACKAGE_JSON_UMBRELLA_TASK_NAME) + @Suppress("UNNECESSARY_SAFE_CALL") // TODO: investigate this warning; fixing it breaks integration tests. val rootPackageJsonTaskProvider: TaskProvider? get() = rootProject?.tasks?.withType(RootPackageJsonTask::class.java)?.named(RootPackageJsonTask.NAME) + @Suppress("UNNECESSARY_SAFE_CALL") // TODO: investigate this warning; fixing it breaks integration tests. val npmCachesSetupTaskProvider: TaskProvider? get() = rootProject?.tasks?.withType(KotlinNpmCachesSetup::class.java)?.named(KotlinNpmCachesSetup.NAME) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmDependencyExtension.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmDependencyExtension.kt index bc12c9337d6..4a511692aef 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmDependencyExtension.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmDependencyExtension.kt @@ -183,7 +183,7 @@ private abstract class NpmDependencyExtensionDelegate( val generateExternals = generateExternalsIfPossible(*args) return when (val arg1 = if (args.size > 1) args[1] else null) { - null -> invoke( + null -> @Suppress("DEPRECATION") invoke( name = name ) is String -> invoke( @@ -249,6 +249,7 @@ private class DefaultNpmDependencyExtension( defaultGenerateExternals ) + @Suppress("DEPRECATION") override fun invoke(name: String): NpmDependency = delegate.invoke(name) @@ -284,6 +285,7 @@ private class DefaultDevNpmDependencyExtension( null ) + @Suppress("DEPRECATION") override fun invoke(name: String): NpmDependency = delegate.invoke(name) @@ -398,6 +400,7 @@ private class DefaultPeerNpmDependencyExtension( npmDeclarationException(args) } + @Suppress("DEPRECATION") override fun invoke(name: String): NpmDependency = delegate.invoke(name) @@ -406,4 +409,4 @@ private class DefaultPeerNpmDependencyExtension( override fun call(vararg args: Any?): NpmDependency = delegate.call(*args) -} \ No newline at end of file +} diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/YarnSimple.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/YarnSimple.kt index 85c121aef6a..eb702d009f5 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/YarnSimple.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/YarnSimple.kt @@ -20,8 +20,8 @@ class YarnSimple : YarnBasics() { override fun resolveProject(resolvedNpmProject: KotlinCompilationNpmResolution) { setup(resolvedNpmProject.project.rootProject) - val project = resolvedNpmProject.project - +// val project = resolvedNpmProject.project +// // PackageJsonUpToDateCheck(resolvedNpmProject.npmProject).updateIfNeeded { // yarnExec( // (project as ProjectInternal).services, 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 b340540be1b..43106506d25 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 @@ -611,6 +611,7 @@ internal fun getPublishedPlatformCompilations(project: Project): Map): FileCollection = project.files(project.provider { from.mapNotNull { + @Suppress("IMPLICIT_CAST_TO_ANY") if (it.extension in extensions) { if (it.exists()) project.zipTree(it) else null } else it diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTargetConfigurator.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTargetConfigurator.kt index b43a5fbaa88..f953e5725f1 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTargetConfigurator.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTargetConfigurator.kt @@ -348,7 +348,7 @@ open class KotlinNativeTargetConfigurator : AbstractKotl } target.binaries.withType(AbstractNativeLibrary::class.java).all { framework -> - val exportConfiguration = project.configurations.maybeCreate(framework.exportConfigurationName).apply { + project.configurations.maybeCreate(framework.exportConfigurationName).apply { isVisible = false isTransitive = false isCanBeConsumed = false diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/cocoapods/KotlinCocoapodsPlugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/cocoapods/KotlinCocoapodsPlugin.kt index 9434d17ecc6..78628acfaa9 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/cocoapods/KotlinCocoapodsPlugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/cocoapods/KotlinCocoapodsPlugin.kt @@ -22,7 +22,6 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget import org.jetbrains.kotlin.gradle.plugin.whenEvaluated import org.jetbrains.kotlin.gradle.targets.native.tasks.* import org.jetbrains.kotlin.gradle.tasks.* -import org.jetbrains.kotlin.gradle.tasks.registerTask import org.jetbrains.kotlin.gradle.utils.asValidTaskName import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName import org.jetbrains.kotlin.konan.target.Family @@ -373,15 +372,14 @@ open class KotlinCocoapodsPlugin : Plugin { } cocoapodsExtension.pods.all { pod -> - val podSource = pod.source - val downloadPodTask = when (podSource) { + val downloadPodTask = when (val podSource = pod.source) { is Git -> project.tasks.register(pod.toPodDownloadTaskName, PodDownloadGitTask::class.java) { it.podName = project.provider { pod.name.asValidTaskName() } - it.podSource = project.provider { podSource as Git } + it.podSource = project.provider { podSource } } is Url -> project.tasks.register(pod.toPodDownloadTaskName, PodDownloadUrlTask::class.java) { it.podName = project.provider { pod.name.asValidTaskName() } - it.podSource = project.provider { podSource as Url } + it.podSource = project.provider { podSource } } else -> return@all } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/KotlinNativeStackTraceParser.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/KotlinNativeStackTraceParser.kt index 57480037634..ac62d2d1539 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/KotlinNativeStackTraceParser.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/KotlinNativeStackTraceParser.kt @@ -54,12 +54,12 @@ fun parseKotlinNativeStackTrace(stackTrace: String): KotlinNativeStackTrace { stackTrace.lines().forEach { val srcLine = it.trim() - var bin: String? = null - var address: String? = null - var className: String? = null - var methodName: String? = null - var signature: String? = null - var offset: Int = -1 + val bin: String? + val address: String? + val className: String? + val methodName: String? + val signature: String? + val offset: Int var fileName: String? = null var lineNumber: Int = -1 var columnNumber: Int = -1 @@ -102,14 +102,13 @@ fun parseKotlinNativeStackTrace(stackTrace: String): KotlinNativeStackTrace { classAndMethod = classAndMethod.substringBeforeLast("(") if ("." in classAndMethod) { - methodName = classAndMethod.substringAfterLast(".").trim() + methodName = classAndMethod.substringAfterLast(".").trim().takeUnless(String::isBlank) className = classAndMethod.substringBeforeLast(".").trim() } else { - methodName = classAndMethod.trim() + methodName = classAndMethod.trim().takeUnless(String::isBlank) + className = null } - if (methodName.isBlank()) methodName = null - stack.add( KotlinNativeStackTraceElement( bin, diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/CocoapodsTasks.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/CocoapodsTasks.kt index 0c95b11bf8e..6791c4bfc5d 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/CocoapodsTasks.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/CocoapodsTasks.kt @@ -103,7 +103,7 @@ open class PodspecTask : DefaultTask() { """.trimIndent() } - val gradleCommand = "\$REPO_ROOT/${gradleWrapper!!.toRelativeString(project.projectDir)}" + val gradleCommand = "\$REPO_ROOT/${gradleWrapper.toRelativeString(project.projectDir)}" val syncTask = "${project.path}:$SYNC_TASK_NAME" val deploymentTargets = run { diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt index 36f42c2cbdd..7910c87833d 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt @@ -112,7 +112,7 @@ private fun FileCollection.filterOutPublishableInteropLibs(project: Project): Fi * for it (NO-SOURCE check). So we need to take this case into account * and skip libraries that were not compiled. See also: GH-2617 (K/N repo). */ -private fun Collection.filterKlibsPassedToCompiler(project: Project) = filter { +private fun Collection.filterKlibsPassedToCompiler(): List = filter { (it.extension == "klib" || it.isDirectory) && it.exists() } @@ -277,6 +277,7 @@ abstract class AbstractKotlinNativeCompile + libraries.files.filterKlibsPassedToCompiler().forEach { library -> addArg("-l", library.absolutePath) } } @@ -458,15 +459,15 @@ constructor( addArg("-module-name", moduleName) add("-Xshort-module-name=$shortModuleName") val friends = friendModule.files - if (friends != null && friends.isNotEmpty()) { - addArg("-friend-modules", friends.map { it.absolutePath }.joinToString(File.pathSeparator)) + if (friends.isNotEmpty()) { + addArg("-friend-modules", friends.joinToString(File.pathSeparator) { it.absolutePath }) } } override fun buildSourceArgs(): List = mutableListOf().apply { addAll(getSource().map { it.absolutePath }) if (!commonSourcesTree.isEmpty) { - add("-Xcommon-sources=${commonSourcesTree.map { it.absolutePath }.joinToString(separator = ",")}") + add("-Xcommon-sources=${commonSourcesTree.joinToString(separator = ",") { it.absolutePath }}") } } // endregion. @@ -600,7 +601,7 @@ constructor( linkerOpts.forEach { addArg("-linker-option", it) } - exportLibraries.files.filterKlibsPassedToCompiler(project).forEach { + exportLibraries.files.filterKlibsPassedToCompiler().forEach { add("-Xexport-library=${it.absolutePath}") } addKey("-Xstatic-framework", isStaticFramework) @@ -622,7 +623,7 @@ constructor( @get:Internal val apiFilesProvider = project.provider { - project.configurations.getByName(compilation.apiConfigurationName).files.filterKlibsPassedToCompiler(project) + project.configurations.getByName(compilation.apiConfigurationName).files.filterKlibsPassedToCompiler() } private fun validatedExportedLibraries() { @@ -631,7 +632,7 @@ constructor( val failed = mutableSetOf() exportConfiguration.allDependencies.forEach { - val dependencyFiles = exportConfiguration.files(it).filterKlibsPassedToCompiler(project) + val dependencyFiles = exportConfiguration.files(it).filterKlibsPassedToCompiler() if (!apiFiles.containsAll(dependencyFiles)) { failed.add(it) } @@ -803,7 +804,7 @@ internal class CacheBuilder(val project: Project, val binary: NativeBinary, val getAllDependencies(dependency) .flatMap { it.moduleArtifacts } .map { it.file } - .filterKlibsPassedToCompiler(project) + .filterKlibsPassedToCompiler() .forEach { args += "-l" args += it.absolutePath @@ -1017,7 +1018,7 @@ open class CInteropProcess @Inject constructor(@get:Internal val settings: Defau addArg("-linker-option", it) } - libraries.files.filterKlibsPassedToCompiler(project).forEach { library -> + libraries.files.filterKlibsPassedToCompiler().forEach { library -> addArg("-library", library.absolutePath) } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt index 3d96b8af7f6..c98efb17e91 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt @@ -164,7 +164,6 @@ abstract class AbstractKotlinCompile() : AbstractKo cacheOnlyIfEnabledForKotlin() } - @get:Internal private val layout = project.layout // avoid creating directory in getter: this can lead to failure in parallel build @@ -353,11 +352,9 @@ abstract class AbstractKotlinCompile() : AbstractKo } } - protected open fun skipCondition(inputs: IncrementalTaskInputs): Boolean { - return !inputs.isIncremental && getSourceRoots().kotlinSourceFiles.isEmpty() - } + protected open fun skipCondition(): Boolean = + getSourceRoots().kotlinSourceFiles.isEmpty() - @get:Internal private val projectDir = project.rootProject.projectDir private fun executeImpl(inputs: IncrementalTaskInputs) { @@ -369,7 +366,7 @@ abstract class AbstractKotlinCompile() : AbstractKo logger.kotlinDebug { "All kotlin sources: ${allKotlinSources.pathsAsStringRelativeTo(projectDir)}" } - if (skipCondition(inputs)) { + if (!inputs.isIncremental && skipCondition()) { // Skip running only if non-incremental run. Otherwise, we may need to do some cleanup. logger.kotlinDebug { "No Kotlin files found, skipping Kotlin compiler task" } return @@ -453,7 +450,7 @@ class KotlinJvmCompilerArgumentsProvider compileClasspath = taskProvider.compileClasspath destinationDir = taskProvider.destinationDir kotlinOptions = listOfNotNull( - taskProvider.parentKotlinOptionsImpl as KotlinJvmOptionsImpl?, + taskProvider.parentKotlinOptionsImpl, taskProvider.kotlinOptions as KotlinJvmOptionsImpl ) }