From 7b48c892be1966e58a420bed83198fb46fc9831c Mon Sep 17 00:00:00 2001 From: Aurimas Liutikas Date: Wed, 20 Jul 2022 09:12:44 -0700 Subject: [PATCH] Move to using projectLayout --- .../plugin/mpp/GenerateProjectStructureMetadata.kt | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/GenerateProjectStructureMetadata.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/GenerateProjectStructureMetadata.kt index 842409a59d6..3765d77bb5d 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/GenerateProjectStructureMetadata.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/GenerateProjectStructureMetadata.kt @@ -6,14 +6,19 @@ package org.jetbrains.kotlin.gradle.plugin.mpp import org.gradle.api.DefaultTask +import org.gradle.api.file.ProjectLayout import org.gradle.api.tasks.Internal import org.gradle.api.tasks.Nested import org.gradle.api.tasks.OutputFile import org.gradle.api.tasks.TaskAction import org.jetbrains.kotlin.gradle.utils.notCompatibleWithConfigurationCache import java.io.File +import javax.inject.Inject -open class GenerateProjectStructureMetadata : DefaultTask() { +abstract class GenerateProjectStructureMetadata : DefaultTask() { + + @get:Inject + abstract internal val projectLayout: ProjectLayout @get:Internal internal lateinit var lazyKotlinProjectStructureMetadata: Lazy @@ -23,7 +28,10 @@ open class GenerateProjectStructureMetadata : DefaultTask() { get() = lazyKotlinProjectStructureMetadata.value @get:OutputFile - val resultFile: File = project.buildDir.resolve("kotlinProjectStructureMetadata/$MULTIPLATFORM_PROJECT_METADATA_JSON_FILE_NAME") + val resultFile: File + get() = projectLayout.buildDirectory.file( + "kotlinProjectStructureMetadata/$MULTIPLATFORM_PROJECT_METADATA_JSON_FILE_NAME" + ).get().asFile @TaskAction fun generateMetadataXml() {