[Gradle] Move MetadataDependencyTransformationTask configuration to task file
^KT-49933
This commit is contained in:
committed by
Space Team
parent
afaa86291f
commit
244f742610
+25
-1
@@ -6,6 +6,8 @@
|
|||||||
package org.jetbrains.kotlin.gradle.plugin.mpp
|
package org.jetbrains.kotlin.gradle.plugin.mpp
|
||||||
|
|
||||||
import org.gradle.api.DefaultTask
|
import org.gradle.api.DefaultTask
|
||||||
|
import org.gradle.api.Project
|
||||||
|
import org.gradle.api.Task
|
||||||
import org.gradle.api.artifacts.component.ComponentIdentifier
|
import org.gradle.api.artifacts.component.ComponentIdentifier
|
||||||
import org.gradle.api.artifacts.component.ModuleComponentIdentifier
|
import org.gradle.api.artifacts.component.ModuleComponentIdentifier
|
||||||
import org.gradle.api.artifacts.component.ProjectComponentIdentifier
|
import org.gradle.api.artifacts.component.ProjectComponentIdentifier
|
||||||
@@ -21,6 +23,8 @@ import org.jetbrains.kotlin.gradle.plugin.sources.KotlinDependencyScope.*
|
|||||||
import org.jetbrains.kotlin.gradle.plugin.sources.internal
|
import org.jetbrains.kotlin.gradle.plugin.sources.internal
|
||||||
import org.jetbrains.kotlin.gradle.targets.metadata.KotlinMetadataTargetConfigurator
|
import org.jetbrains.kotlin.gradle.targets.metadata.KotlinMetadataTargetConfigurator
|
||||||
import org.jetbrains.kotlin.gradle.targets.metadata.dependsOnClosureWithInterCompilationDependencies
|
import org.jetbrains.kotlin.gradle.targets.metadata.dependsOnClosureWithInterCompilationDependencies
|
||||||
|
import org.jetbrains.kotlin.gradle.tasks.dependsOn
|
||||||
|
import org.jetbrains.kotlin.gradle.tasks.locateOrRegisterTask
|
||||||
import org.jetbrains.kotlin.gradle.tasks.locateTask
|
import org.jetbrains.kotlin.gradle.tasks.locateTask
|
||||||
import org.jetbrains.kotlin.gradle.utils.*
|
import org.jetbrains.kotlin.gradle.utils.*
|
||||||
import java.io.File
|
import java.io.File
|
||||||
@@ -31,6 +35,26 @@ import javax.inject.Inject
|
|||||||
@Deprecated("Task was renamed to MetadataDependencyTransformationTask", replaceWith = ReplaceWith("MetadataDependencyTransformationTask"))
|
@Deprecated("Task was renamed to MetadataDependencyTransformationTask", replaceWith = ReplaceWith("MetadataDependencyTransformationTask"))
|
||||||
typealias TransformKotlinGranularMetadata = MetadataDependencyTransformationTask
|
typealias TransformKotlinGranularMetadata = MetadataDependencyTransformationTask
|
||||||
|
|
||||||
|
internal const val TRANSFORM_ALL_SOURCESETS_DEPENDENCIES_METADATA = "transformDependenciesMetadata"
|
||||||
|
private fun transformGranularMetadataTaskName(sourceSetName: String) =
|
||||||
|
lowerCamelCaseName("transform", sourceSetName, "DependenciesMetadata")
|
||||||
|
|
||||||
|
internal fun Project.locateOrRegisterMetadataDependencyTransformationTask(
|
||||||
|
sourceSet: KotlinSourceSet
|
||||||
|
): TaskProvider<MetadataDependencyTransformationTask> {
|
||||||
|
val transformationTask = project.locateOrRegisterTask<MetadataDependencyTransformationTask>(
|
||||||
|
transformGranularMetadataTaskName(sourceSet.name),
|
||||||
|
listOf(sourceSet)
|
||||||
|
) {
|
||||||
|
description =
|
||||||
|
"Generates serialized dependencies metadata for compilation '${sourceSet.name}' (for tooling)"
|
||||||
|
}
|
||||||
|
|
||||||
|
project.locateOrRegisterTask<Task>(TRANSFORM_ALL_SOURCESETS_DEPENDENCIES_METADATA).dependsOn(transformationTask)
|
||||||
|
|
||||||
|
return transformationTask
|
||||||
|
}
|
||||||
|
|
||||||
open class MetadataDependencyTransformationTask
|
open class MetadataDependencyTransformationTask
|
||||||
@Inject constructor(
|
@Inject constructor(
|
||||||
kotlinSourceSet: KotlinSourceSet,
|
kotlinSourceSet: KotlinSourceSet,
|
||||||
@@ -64,7 +88,7 @@ open class MetadataDependencyTransformationTask
|
|||||||
dependsOnClosureWithInterCompilationDependencies(kotlinSourceSet).mapNotNull {
|
dependsOnClosureWithInterCompilationDependencies(kotlinSourceSet).mapNotNull {
|
||||||
project
|
project
|
||||||
.tasks
|
.tasks
|
||||||
.locateTask(KotlinMetadataTargetConfigurator.transformGranularMetadataTaskName(it.name))
|
.locateTask(transformGranularMetadataTaskName(it.name))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-13
@@ -58,10 +58,6 @@ class KotlinMetadataTargetConfigurator :
|
|||||||
KotlinOnlyTargetConfigurator<KotlinCompilation<*>, KotlinMetadataTarget>(createTestCompilation = false) {
|
KotlinOnlyTargetConfigurator<KotlinCompilation<*>, KotlinMetadataTarget>(createTestCompilation = false) {
|
||||||
companion object {
|
companion object {
|
||||||
internal const val ALL_METADATA_JAR_NAME = "allMetadataJar"
|
internal const val ALL_METADATA_JAR_NAME = "allMetadataJar"
|
||||||
internal const val TRANSFORM_ALL_SOURCESETS_DEPENDENCIES_METADATA = "transformDependenciesMetadata"
|
|
||||||
|
|
||||||
internal fun transformGranularMetadataTaskName(sourceSetName: String) =
|
|
||||||
lowerCamelCaseName("transform", sourceSetName, "DependenciesMetadata")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun configureTarget(target: KotlinMetadataTarget) {
|
override fun configureTarget(target: KotlinMetadataTarget) {
|
||||||
@@ -338,15 +334,7 @@ class KotlinMetadataTargetConfigurator :
|
|||||||
val project = compilation.target.project
|
val project = compilation.target.project
|
||||||
val sourceSet = compilation.defaultSourceSet
|
val sourceSet = compilation.defaultSourceSet
|
||||||
|
|
||||||
val transformationTask = project.locateOrRegisterTask<MetadataDependencyTransformationTask>(
|
val transformationTask = project.locateOrRegisterMetadataDependencyTransformationTask(sourceSet)
|
||||||
transformGranularMetadataTaskName(sourceSet.name),
|
|
||||||
listOf(sourceSet)
|
|
||||||
) {
|
|
||||||
description =
|
|
||||||
"Generates serialized dependencies metadata for compilation '${compilation.name}' of target '${compilation.target.name}' (for tooling)"
|
|
||||||
}
|
|
||||||
|
|
||||||
project.locateOrRegisterTask<Task>(TRANSFORM_ALL_SOURCESETS_DEPENDENCIES_METADATA).dependsOn(transformationTask)
|
|
||||||
|
|
||||||
val artifacts = sourceSet.internal.resolvableMetadataConfiguration.incoming.artifacts
|
val artifacts = sourceSet.internal.resolvableMetadataConfiguration.incoming.artifacts
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user