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