[#566] Enable Compose compiler metrics
This commit is contained in:
parent
cf59e265ac
commit
c380450756
|
@ -517,10 +517,12 @@ jobs:
|
|||
ARTIFACTS_DIR_PATH: ${{ format('{0}/artifacts', env.home) }}
|
||||
BINARIES_ZIP_PATH: ${{ format('{0}/artifacts/binaries.zip', env.home) }}
|
||||
MAPPINGS_ZIP_PATH: ${{ format('{0}/artifacts/mappings.zip', env.home) }}
|
||||
COMPOSE_METRICS_ZIP_PATH: ${{ format('{0}/artifacts/compose_metrics.zip', env.home) }}
|
||||
run: |
|
||||
mkdir ${ARTIFACTS_DIR_PATH}
|
||||
zip -r ${BINARIES_ZIP_PATH} . -i app/build/outputs/apk/\*/\*.apk app/build/outputs/apk_from_bundle/\*/\*.apk app/build/outputs/bundle/\*/\*.aab
|
||||
zip -r ${MAPPINGS_ZIP_PATH} . -i *app/build/outputs/mapping/*/mapping.txt
|
||||
zip -r ${COMPOSE_METRICS_ZIP_PATH} . -i \*/build/compose-metrics/\* \*/build/compose-reports/\*
|
||||
- name: Upload Artifacts
|
||||
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce
|
||||
timeout-minutes: 2
|
||||
|
|
|
@ -179,7 +179,7 @@ fun com.android.build.gradle.BaseExtension.configureBaseExtension() {
|
|||
kotlinOptions {
|
||||
jvmTarget = project.property("ANDROID_JVM_TARGET").toString()
|
||||
allWarningsAsErrors = project.property("ZCASH_IS_TREAT_WARNINGS_AS_ERRORS").toString().toBoolean()
|
||||
freeCompilerArgs = freeCompilerArgs + "-opt-in=kotlin.RequiresOptIn"
|
||||
freeCompilerArgs = freeCompilerArgs + "-opt-in=kotlin.RequiresOptIn" + buildComposeMetricsParameters()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -194,3 +194,27 @@ fun com.android.build.gradle.BaseExtension.configureBaseExtension() {
|
|||
fun CommonExtension<*, *, *, *>.kotlinOptions(block: KotlinJvmOptions.() -> Unit) {
|
||||
(this as ExtensionAware).extensions.configure("kotlinOptions", block)
|
||||
}
|
||||
|
||||
fun Project.buildComposeMetricsParameters(): List<String> {
|
||||
val metricParameters = mutableListOf<String>()
|
||||
val enableMetricsProvider = project.providers.gradleProperty("IS_ENABLE_COMPOSE_COMPILER_METRICS")
|
||||
val enableMetrics = (enableMetricsProvider.orNull == "true")
|
||||
if (enableMetrics) {
|
||||
val metricsFolder = File(project.buildDir, "compose-metrics")
|
||||
metricParameters.add("-P")
|
||||
metricParameters.add(
|
||||
"plugin:androidx.compose.compiler.plugins.kotlin:metricsDestination=" + metricsFolder.absolutePath
|
||||
)
|
||||
}
|
||||
|
||||
val enableReportsProvider = project.providers.gradleProperty("IS_ENABLE_COMPOSE_COMPILER_REPORTS")
|
||||
val enableReports = (enableReportsProvider.orNull == "true")
|
||||
if (enableReports) {
|
||||
val reportsFolder = File(project.buildDir, "compose-reports")
|
||||
metricParameters.add("-P")
|
||||
metricParameters.add(
|
||||
"plugin:androidx.compose.compiler.plugins.kotlin:reportsDestination=" + reportsFolder.absolutePath
|
||||
)
|
||||
}
|
||||
return metricParameters.toList()
|
||||
}
|
|
@ -33,6 +33,9 @@ IS_USE_TEST_ORCHESTRATOR=false
|
|||
# It is disabled by default, because it can be annoying when debugging. Gets turned on by CI jobs that need it.
|
||||
IS_CRASH_ON_STRICT_MODE_VIOLATION=false
|
||||
|
||||
IS_ENABLE_COMPOSE_COMPILER_METRICS=true
|
||||
IS_ENABLE_COMPOSE_COMPILER_REPORTS=true
|
||||
|
||||
# Either provide a path to a Firebase Test Lab service key (best for CI)
|
||||
# OR
|
||||
# login with `./gradlew flankAuth` and provide the project name (best for local development)
|
||||
|
|
Loading…
Reference in New Issue