Integrate compose-metrics and compose-reports in one property "enableComposeCompilerReportsAndMetrics".

Change-Id: Iaa78284fae1532e728c5f4546ac825b7509e450f
pull/1576/head
Jaehwa Noh 1 year ago
parent 3bcababcef
commit ddffc459ca

@ -18,7 +18,6 @@ package com.google.samples.apps.nowinandroid
import com.android.build.api.dsl.CommonExtension import com.android.build.api.dsl.CommonExtension
import org.gradle.api.Project import org.gradle.api.Project
import org.gradle.api.provider.Provider
import org.gradle.kotlin.dsl.assign import org.gradle.kotlin.dsl.assign
import org.gradle.kotlin.dsl.configure import org.gradle.kotlin.dsl.configure
import org.gradle.kotlin.dsl.dependencies import org.gradle.kotlin.dsl.dependencies
@ -52,21 +51,14 @@ internal fun Project.configureAndroidCompose(
} }
extensions.configure<ComposeCompilerGradlePluginExtension> { extensions.configure<ComposeCompilerGradlePluginExtension> {
fun Provider<String>.onlyIfTrue() = flatMap { provider { it.takeIf(String::toBoolean) } } if (project.hasProperty("enableComposeCompilerReportsAndMetrics")) {
fun Provider<*>.relativeToRootProject(dir: String) = flatMap { metricsDestination = relativeToRootProject("compose-metrics")
rootProject.layout.buildDirectory.dir(projectDir.toRelativeString(rootDir)) reportsDestination = relativeToRootProject("compose-reports")
}.map { it.dir(dir) } }
project.providers.gradleProperty("enableComposeCompilerMetrics").onlyIfTrue()
.relativeToRootProject("compose-metrics")
.let(metricsDestination::set)
project.providers.gradleProperty("enableComposeCompilerReports").onlyIfTrue() stabilityConfigurationFile =
.relativeToRootProject("compose-reports") rootProject.layout.projectDirectory.file("compose_compiler_config.conf")
.let(reportsDestination::set)
stabilityConfigurationFile = rootProject.layout.projectDirectory.file("compose_compiler_config.conf")
enableStrongSkippingMode = true enableStrongSkippingMode = true
} }
} }

Loading…
Cancel
Save