From 3bcababcef48aaea4b7048c338dedaf09e645e63 Mon Sep 17 00:00:00 2001 From: Jaehwa Noh Date: Fri, 23 Aug 2024 14:54:05 +0900 Subject: [PATCH] Create Project.relativeToRootProject extension. Change-Id: I746648d1b11c029a0dcdbac8ca0b8b6487542b0f --- .../samples/apps/nowinandroid/ProjectExtensions.kt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/ProjectExtensions.kt b/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/ProjectExtensions.kt index e45d7f2e1..dfb55a6b0 100644 --- a/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/ProjectExtensions.kt +++ b/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/ProjectExtensions.kt @@ -19,7 +19,16 @@ package com.google.samples.apps.nowinandroid import org.gradle.api.Project import org.gradle.api.artifacts.VersionCatalog import org.gradle.api.artifacts.VersionCatalogsExtension +import org.gradle.api.file.Directory +import org.gradle.api.provider.Provider import org.gradle.kotlin.dsl.getByType val Project.libs get(): VersionCatalog = extensions.getByType().named("libs") + +/** + * Create new Directory by [dir] name in the root build directory. + */ +internal fun Project.relativeToRootProject(dir: String): Provider = + rootProject.layout.buildDirectory.dir(projectDir.toRelativeString(rootDir)) + .map { it.dir(dir) }