[Gradle] Fix PlatformCommonizer classpath configuration consumption
Make sure that Commonizer Tasks consume correct classpath configuration ^KT-43293
This commit is contained in:
+4
-4
@@ -8,6 +8,7 @@
|
||||
package org.jetbrains.kotlin.compilerRunner
|
||||
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.artifacts.Configuration
|
||||
import org.gradle.api.attributes.Category
|
||||
import org.gradle.api.attributes.LibraryElements
|
||||
import org.gradle.api.attributes.Usage
|
||||
@@ -26,9 +27,9 @@ internal fun GradleCliCommonizer(commonizerToolRunner: KotlinNativeCommonizerToo
|
||||
})
|
||||
}
|
||||
|
||||
internal fun Project.registerCommonizerClasspathConfigurationIfNecessary() {
|
||||
if (configurations.findByName(KLIB_COMMONIZER_CLASSPATH_CONFIGURATION_NAME) == null) {
|
||||
project.configurations.create(KLIB_COMMONIZER_CLASSPATH_CONFIGURATION_NAME).run {
|
||||
internal fun Project.maybeCreateCommonizerClasspathConfiguration(): Configuration {
|
||||
return configurations.findByName(KLIB_COMMONIZER_CLASSPATH_CONFIGURATION_NAME)
|
||||
?: project.configurations.create(KLIB_COMMONIZER_CLASSPATH_CONFIGURATION_NAME).run {
|
||||
isCanBeResolved = true
|
||||
isCanBeConsumed = false
|
||||
attributes.attribute(Category.CATEGORY_ATTRIBUTE, objects.named(Category.LIBRARY))
|
||||
@@ -40,5 +41,4 @@ internal fun Project.registerCommonizerClasspathConfigurationIfNecessary() {
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -24,7 +24,7 @@ import org.gradle.api.logging.Logger
|
||||
import org.gradle.api.logging.Logging
|
||||
import org.gradle.api.model.ObjectFactory
|
||||
import org.gradle.tooling.provider.model.ToolingModelBuilderRegistry
|
||||
import org.jetbrains.kotlin.compilerRunner.registerCommonizerClasspathConfigurationIfNecessary
|
||||
import org.jetbrains.kotlin.compilerRunner.maybeCreateCommonizerClasspathConfiguration
|
||||
import org.jetbrains.kotlin.gradle.dsl.*
|
||||
import org.jetbrains.kotlin.gradle.internal.KOTLIN_COMPILER_EMBEDDABLE
|
||||
import org.jetbrains.kotlin.gradle.internal.KOTLIN_MODULE_GROUP
|
||||
@@ -159,7 +159,7 @@ abstract class KotlinBasePluginWrapper : DefaultKotlinBasePlugin() {
|
||||
isTransitive = false
|
||||
addGradlePluginMetadataAttributes(project)
|
||||
}
|
||||
project.registerCommonizerClasspathConfigurationIfNecessary()
|
||||
project.maybeCreateCommonizerClasspathConfiguration()
|
||||
|
||||
project.registerDefaultVariantImplementations()
|
||||
|
||||
|
||||
+1
-2
@@ -15,9 +15,9 @@ import org.gradle.process.ExecOperations
|
||||
import org.jetbrains.kotlin.commonizer.CommonizerDependency
|
||||
import org.jetbrains.kotlin.commonizer.TargetedCommonizerDependency
|
||||
import org.jetbrains.kotlin.commonizer.allLeaves
|
||||
import org.jetbrains.kotlin.compilerRunner.*
|
||||
import org.jetbrains.kotlin.compilerRunner.GradleCliCommonizer
|
||||
import org.jetbrains.kotlin.compilerRunner.KotlinNativeCommonizerToolRunner
|
||||
import org.jetbrains.kotlin.compilerRunner.KotlinToolRunner
|
||||
import org.jetbrains.kotlin.compilerRunner.konanHome
|
||||
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtensionOrNull
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
|
||||
@@ -97,7 +97,6 @@ internal open class CInteropCommonizerTask
|
||||
|
||||
private val runnerSettings: Provider<KotlinNativeCommonizerToolRunner.Settings> = kotlinPluginVersion
|
||||
.zip(customJvmArgs) { pluginVersion, customJvmArgs ->
|
||||
commonizerClasspath
|
||||
KotlinNativeCommonizerToolRunner.Settings(
|
||||
pluginVersion,
|
||||
commonizerClasspath.files,
|
||||
|
||||
+4
-8
@@ -9,8 +9,8 @@ import org.gradle.api.Project
|
||||
import org.gradle.api.Task
|
||||
import org.gradle.api.tasks.Delete
|
||||
import org.gradle.api.tasks.TaskProvider
|
||||
import org.jetbrains.kotlin.compilerRunner.maybeCreateCommonizerClasspathConfiguration
|
||||
import org.jetbrains.kotlin.gradle.internal.isInIdeaSync
|
||||
import org.jetbrains.kotlin.gradle.plugin.KLIB_COMMONIZER_CLASSPATH_CONFIGURATION_NAME
|
||||
import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider
|
||||
import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion
|
||||
import org.jetbrains.kotlin.gradle.plugin.ide.Idea222Api
|
||||
@@ -77,9 +77,7 @@ internal val Project.commonizeCInteropTask: TaskProvider<CInteropCommonizerTask>
|
||||
description = "Invokes the commonizer on c-interop bindings of the project"
|
||||
|
||||
kotlinPluginVersion.set(getKotlinPluginVersion())
|
||||
commonizerClasspath.from(
|
||||
configurations.getByName(KLIB_COMMONIZER_CLASSPATH_CONFIGURATION_NAME)
|
||||
)
|
||||
commonizerClasspath.from(project.maybeCreateCommonizerClasspathConfiguration())
|
||||
customJvmArgs.set(PropertiesProvider(project).commonizerJvmArgs)
|
||||
}
|
||||
)
|
||||
@@ -127,10 +125,8 @@ internal val Project.commonizeNativeDistributionTask: TaskProvider<NativeDistrib
|
||||
description = "Invokes the commonizer on platform libraries provided by the Kotlin/Native distribution"
|
||||
|
||||
kotlinPluginVersion.set(getKotlinPluginVersion())
|
||||
commonizerClasspath.from(
|
||||
configurations.getByName(KLIB_COMMONIZER_CLASSPATH_CONFIGURATION_NAME)
|
||||
)
|
||||
customJvmArgs.set(PropertiesProvider(project).commonizerJvmArgs)
|
||||
commonizerClasspath.from(rootProject.maybeCreateCommonizerClasspathConfiguration())
|
||||
customJvmArgs.set(PropertiesProvider(rootProject).commonizerJvmArgs)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
-3
@@ -19,7 +19,6 @@ import org.jetbrains.kotlin.compilerRunner.*
|
||||
import org.jetbrains.kotlin.compilerRunner.GradleCliCommonizer
|
||||
import org.jetbrains.kotlin.compilerRunner.KotlinNativeCommonizerToolRunner
|
||||
import org.jetbrains.kotlin.compilerRunner.konanHome
|
||||
import org.jetbrains.kotlin.compilerRunner.registerCommonizerClasspathConfigurationIfNecessary
|
||||
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtensionOrNull
|
||||
import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider.Companion.kotlinPropertiesProvider
|
||||
import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion
|
||||
@@ -59,7 +58,6 @@ internal open class NativeDistributionCommonizerTask
|
||||
|
||||
private val runnerSettings: Provider<KotlinNativeCommonizerToolRunner.Settings> = kotlinPluginVersion
|
||||
.zip(customJvmArgs) { pluginVersion, customJvmArgs ->
|
||||
commonizerClasspath
|
||||
KotlinNativeCommonizerToolRunner.Settings(
|
||||
pluginVersion,
|
||||
commonizerClasspath.files,
|
||||
@@ -103,7 +101,6 @@ internal open class NativeDistributionCommonizerTask
|
||||
}
|
||||
|
||||
init {
|
||||
project.registerCommonizerClasspathConfigurationIfNecessary()
|
||||
outputs.upToDateWhen {
|
||||
commonizerCache.isUpToDate(commonizerTargets)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user