[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
|
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")
|
@DisplayName("Build services are registered for Kotlin/JVM projects")
|
||||||
@GradleTest
|
@GradleTest
|
||||||
@JvmGradlePluginTests
|
@JvmGradlePluginTests
|
||||||
@@ -71,7 +70,6 @@ class BuildServiceDeclarationIT : KGPBaseTest() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Disabled
|
|
||||||
@DisplayName("Build services are registered for Kapt projects")
|
@DisplayName("Build services are registered for Kapt projects")
|
||||||
@GradleTest
|
@GradleTest
|
||||||
@OtherGradlePluginTests
|
@OtherGradlePluginTests
|
||||||
|
|||||||
+5
@@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.gradle.plugin
|
package org.jetbrains.kotlin.gradle.plugin
|
||||||
|
|
||||||
|
import org.gradle.api.Task
|
||||||
import org.gradle.api.invocation.Gradle
|
import org.gradle.api.invocation.Gradle
|
||||||
import org.gradle.api.provider.Provider
|
import org.gradle.api.provider.Provider
|
||||||
import org.gradle.api.services.BuildService
|
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 =
|
internal inline fun <reified T : VariantImplementationFactories.VariantImplementationFactory> Gradle.variantImplementationFactory(): T =
|
||||||
VariantImplementationFactories.get(this)[T::class]
|
VariantImplementationFactories.get(this)[T::class]
|
||||||
|
|
||||||
|
internal fun Task.declareVariantImplementationFactoryUsage() {
|
||||||
|
usesService(VariantImplementationFactories.getProvider(project.gradle))
|
||||||
|
}
|
||||||
|
|
||||||
internal inline fun <
|
internal inline fun <
|
||||||
reified T : VariantImplementationFactories.VariantImplementationFactory
|
reified T : VariantImplementationFactories.VariantImplementationFactory
|
||||||
> Gradle.variantImplementationFactoryProvider(): Provider<T> =
|
> Gradle.variantImplementationFactoryProvider(): Provider<T> =
|
||||||
|
|||||||
+5
-1
@@ -232,6 +232,8 @@ abstract class GradleCompileTaskProvider @Inject constructor(
|
|||||||
GradleCompilerRunner.buildModulesInfo(gradle)
|
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
|
@get:Internal
|
||||||
internal abstract val preciseCompilationResultsBackup: Property<Boolean>
|
internal abstract val preciseCompilationResultsBackup: Property<Boolean>
|
||||||
|
|||||||
+7
-4
@@ -59,10 +59,12 @@ internal abstract class AbstractKotlinCompileConfig<TASK : AbstractKotlinCompile
|
|||||||
.disallowChanges()
|
.disallowChanges()
|
||||||
|
|
||||||
task.localStateDirectories.from(task.taskBuildLocalStateDirectory).disallowChanges()
|
task.localStateDirectories.from(task.taskBuildLocalStateDirectory).disallowChanges()
|
||||||
BuildMetricsService.registerIfAbsent(project)?.also {
|
BuildMetricsService.registerIfAbsent(project)?.also { metricsService ->
|
||||||
task.buildMetricsService.value(it)
|
task.buildMetricsService.value(metricsService)
|
||||||
BuildReportsService.registerIfAbsent(project, it)?.also {
|
task.usesService(metricsService)
|
||||||
task.buildReportsService.value(it)
|
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
|
compilation.internal.configurations.pluginConfiguration
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
task.declareVariantImplementationFactoryUsage()
|
||||||
task.moduleName.set(providers.provider { compilationInfo.moduleName })
|
task.moduleName.set(providers.provider { compilationInfo.moduleName })
|
||||||
@Suppress("DEPRECATION")
|
@Suppress("DEPRECATION")
|
||||||
task.ownModuleName.set(project.provider { compilationInfo.moduleName })
|
task.ownModuleName.set(project.provider { compilationInfo.moduleName })
|
||||||
|
|||||||
Reference in New Issue
Block a user