#!/usr/bin/env bash set -euo pipefail usage() { cat < Commands: generate-profile Generate app baseline profile on connected device benchmark Run startup + navigation macrobenchmarks on connected device release-with-profile Build release APK/AAB with merged baseline profile artifacts USAGE } cmd="${1:-}" case "$cmd" in generate-profile) ./gradlew \ :benchmark:connectedNonMinifiedReleaseAndroidTest \ :benchmark:collectNonMinifiedReleaseBaselineProfile \ -Pandroid.testInstrumentationRunnerArguments.class=com.nuvio.tv.benchmark.NuvioBaselineProfile ;; benchmark) ./gradlew \ :benchmark:connectedBenchmarkReleaseAndroidTest \ -Pandroid.testInstrumentationRunnerArguments.class=com.nuvio.tv.benchmark.NuvioStartupNavBenchmark \ -Pandroid.testInstrumentationRunnerArguments.androidx.benchmark.suppressErrors=EMULATOR ;; release-with-profile) ./gradlew :app:assembleRelease :app:bundleRelease ;; *) usage exit 1 ;; esac