From df2b6a3e9fd9cf1a813e0d61095adeab8c0fc451 Mon Sep 17 00:00:00 2001 From: Jaehwa Noh Date: Sat, 21 Dec 2024 17:19:28 +0900 Subject: [PATCH] Remove extensions and place in an inline function. Change-Id: Ib7b8ade051985dd6a3e698d562d420a67ca5e9c4 --- .../apps/nowinandroid/AndroidCompose.kt | 28 ++++++++----------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/AndroidCompose.kt b/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/AndroidCompose.kt index e9ad2e922..0b8fdf33e 100644 --- a/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/AndroidCompose.kt +++ b/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/AndroidCompose.kt @@ -53,25 +53,21 @@ internal fun Project.configureAndroidCompose( } extensions.configure { - if (isPropertyValueIsTrue("enableComposeCompilerReportsAndMetrics")) { - metricsDestination = createPerModulePath("compose-metrics") - reportsDestination = createPerModulePath("compose-reports") + + val isComposeCompilerReportsAndMetricsEnabled = providers.gradleProperty("enableComposeCompilerReportsAndMetrics").orNull.toBoolean() + if (isComposeCompilerReportsAndMetricsEnabled) { + /** + * Set path where the `compose-metrics` and `compose-reports` + * being written up to the build/***modules-name***/[dir] location. + */ + fun setComposeMetricsAndReportLocation(dir: String) = + isolated.rootProject.projectDirectory.dir("build").dir(projectDir.toRelativeString(rootDir)).dir(dir) + + metricsDestination = setComposeMetricsAndReportLocation("compose-metrics") + reportsDestination = setComposeMetricsAndReportLocation("compose-reports") } stabilityConfigurationFiles .add(isolated.rootProject.projectDirectory.file("compose_compiler_config.conf")) } } - -/** - * Checking a value of [propertyName] is true. - */ -private fun Project.isPropertyValueIsTrue(propertyName: String): Boolean = - providers.gradleProperty(propertyName).orNull.toBoolean() - -/** - * Creating a path where the [dir] will be created in. - */ -private fun Project.createPerModulePath(dir: String): Provider = provider { - isolated.rootProject.projectDirectory.dir("build/${projectDir.toRelativeString(rootDir)}/$dir") -}