[Gradle] Removed using rootProject from KonanPropertiesBuildService

^KT-64995 Fixed
This commit is contained in:
Dmitrii Krasnov
2024-03-06 16:05:38 +01:00
committed by Space Team
parent ee506c1369
commit 8d7844316b
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.gradle.targets.native
import org.gradle.api.Project import org.gradle.api.Project
import org.gradle.api.Task import org.gradle.api.Task
import org.gradle.api.file.DirectoryProperty
import org.gradle.api.provider.Property import org.gradle.api.provider.Property
import org.gradle.api.provider.Provider import org.gradle.api.provider.Provider
import org.gradle.api.services.BuildService import org.gradle.api.services.BuildService
@@ -30,11 +31,11 @@ internal interface UsesKonanPropertiesBuildService : Task {
abstract class KonanPropertiesBuildService : BuildService<KonanPropertiesBuildService.Parameters> { abstract class KonanPropertiesBuildService : BuildService<KonanPropertiesBuildService.Parameters> {
internal interface Parameters : BuildServiceParameters { internal interface Parameters : BuildServiceParameters {
val konanHome: Property<String> val konanHome: DirectoryProperty
} }
private val properties: Properties by lazy { private val properties: Properties by lazy {
Distribution(parameters.konanHome.get()).properties Distribution(parameters.konanHome.get().asFile.absolutePath).properties
} }
private val cacheableTargets: List<KonanTarget> by lazy { private val cacheableTargets: List<KonanTarget> by lazy {
@@ -62,14 +63,10 @@ abstract class KonanPropertiesBuildService : BuildService<KonanPropertiesBuildSe
internal fun additionalCacheFlags(target: KonanTarget): List<String> = internal fun additionalCacheFlags(target: KonanTarget): List<String> =
properties.resolvablePropertyList("additionalCacheFlags", target.visibleName) properties.resolvablePropertyList("additionalCacheFlags", target.visibleName)
internal val compilerVersion: String? by lazy {
properties["compilerVersion"]?.toString()
}
companion object { companion object {
fun registerIfAbsent(project: Project): Provider<KonanPropertiesBuildService> = fun registerIfAbsent(project: Project): Provider<KonanPropertiesBuildService> =
project.gradle.sharedServices.registerIfAbsent(serviceName, KonanPropertiesBuildService::class.java) { service -> project.gradle.sharedServices.registerIfAbsent(serviceName, KonanPropertiesBuildService::class.java) { service ->
service.parameters.konanHome.set(project.rootProject.konanHome.absolutePath) service.parameters.konanHome.set(project.konanHome)
}.also { serviceProvider -> }.also { serviceProvider ->
SingleActionPerProject.run(project, UsesKonanPropertiesBuildService::class.java.name) { SingleActionPerProject.run(project, UsesKonanPropertiesBuildService::class.java.name) {
project.tasks.withType<UsesKonanPropertiesBuildService>().configureEach { task -> project.tasks.withType<UsesKonanPropertiesBuildService>().configureEach { task ->