[Gradle] Declare build services usages for the Kotlin/JVM plugin
#KT-52149 In Progress #KT-55174 Fixed #KT-55741 Fixed
This commit is contained in:
committed by
Space Team
parent
d360feb847
commit
02bf10f21a
-2
@@ -19,7 +19,6 @@ class BuildServiceDeclarationIT : KGPBaseTest() {
|
||||
warningMode = WarningMode.All // we currently have other warnings when `STABLE_CONFIGURATION_CACHE` is enabled unrelated to build services declaration, so we check for this kind of warnings in the build output
|
||||
)
|
||||
|
||||
@Disabled
|
||||
@DisplayName("Build services are registered for Kotlin/JVM projects")
|
||||
@GradleTest
|
||||
@JvmGradlePluginTests
|
||||
@@ -71,7 +70,6 @@ class BuildServiceDeclarationIT : KGPBaseTest() {
|
||||
}
|
||||
}
|
||||
|
||||
@Disabled
|
||||
@DisplayName("Build services are registered for Kapt projects")
|
||||
@GradleTest
|
||||
@OtherGradlePluginTests
|
||||
|
||||
+5
@@ -5,6 +5,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.gradle.plugin
|
||||
|
||||
import org.gradle.api.Task
|
||||
import org.gradle.api.invocation.Gradle
|
||||
import org.gradle.api.provider.Provider
|
||||
import org.gradle.api.services.BuildService
|
||||
@@ -61,6 +62,10 @@ abstract class VariantImplementationFactories : BuildService<BuildServiceParamet
|
||||
internal inline fun <reified T : VariantImplementationFactories.VariantImplementationFactory> Gradle.variantImplementationFactory(): T =
|
||||
VariantImplementationFactories.get(this)[T::class]
|
||||
|
||||
internal fun Task.declareVariantImplementationFactoryUsage() {
|
||||
usesService(VariantImplementationFactories.getProvider(project.gradle))
|
||||
}
|
||||
|
||||
internal inline fun <
|
||||
reified T : VariantImplementationFactories.VariantImplementationFactory
|
||||
> Gradle.variantImplementationFactoryProvider(): Provider<T> =
|
||||
|
||||
+5
-1
@@ -232,6 +232,8 @@ abstract class GradleCompileTaskProvider @Inject constructor(
|
||||
GradleCompilerRunner.buildModulesInfo(gradle)
|
||||
}
|
||||
)
|
||||
}.also {
|
||||
task.usesService(it)
|
||||
}
|
||||
}
|
||||
)
|
||||
@@ -379,7 +381,9 @@ abstract class AbstractKotlinCompile<T : CommonCompilerArguments> @Inject constr
|
||||
}
|
||||
)
|
||||
|
||||
private val systemPropertiesService = CompilerSystemPropertiesService.registerIfAbsent(project.gradle)
|
||||
private val systemPropertiesService = CompilerSystemPropertiesService.registerIfAbsent(project.gradle).also {
|
||||
usesService(it)
|
||||
}
|
||||
|
||||
@get:Internal
|
||||
internal abstract val preciseCompilationResultsBackup: Property<Boolean>
|
||||
|
||||
+7
-4
@@ -59,10 +59,12 @@ internal abstract class AbstractKotlinCompileConfig<TASK : AbstractKotlinCompile
|
||||
.disallowChanges()
|
||||
|
||||
task.localStateDirectories.from(task.taskBuildLocalStateDirectory).disallowChanges()
|
||||
BuildMetricsService.registerIfAbsent(project)?.also {
|
||||
task.buildMetricsService.value(it)
|
||||
BuildReportsService.registerIfAbsent(project, it)?.also {
|
||||
task.buildReportsService.value(it)
|
||||
BuildMetricsService.registerIfAbsent(project)?.also { metricsService ->
|
||||
task.buildMetricsService.value(metricsService)
|
||||
task.usesService(metricsService)
|
||||
BuildReportsService.registerIfAbsent(project, metricsService)?.also { reportsService ->
|
||||
task.buildReportsService.value(reportsService)
|
||||
task.usesService(reportsService)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -110,6 +112,7 @@ internal abstract class AbstractKotlinCompileConfig<TASK : AbstractKotlinCompile
|
||||
compilation.internal.configurations.pluginConfiguration
|
||||
)
|
||||
}
|
||||
task.declareVariantImplementationFactoryUsage()
|
||||
task.moduleName.set(providers.provider { compilationInfo.moduleName })
|
||||
@Suppress("DEPRECATION")
|
||||
task.ownModuleName.set(project.provider { compilationInfo.moduleName })
|
||||
|
||||
Reference in New Issue
Block a user