import org.jetbrains.kotlin.gradle.dsl.JvmTarget plugins { alias(libs.plugins.android.test) alias(libs.plugins.kotlin.android) alias(libs.plugins.junit5.android) } android { namespace = "net.mullvad.mullvadvpn.test.mockapi" compileSdk = libs.versions.compile.sdk.get().toInt() buildToolsVersion = libs.versions.build.tools.get() defaultConfig { minSdk = libs.versions.min.sdk.get().toInt() testApplicationId = "net.mullvad.mullvadvpn.test.mockapi" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunnerArguments["runnerBuilder"] = "de.mannodermaus.junit5.AndroidJUnit5Builder" targetProjectPath = ":app" missingDimensionStrategy(FlavorDimensions.BILLING, Flavors.OSS) missingDimensionStrategy(FlavorDimensions.INFRASTRUCTURE, Flavors.PROD) testInstrumentationRunnerArguments.putAll(mapOf("clearPackageData" to "true")) } flavorDimensions += FlavorDimensions.BILLING productFlavors { create(Flavors.OSS) { dimension = FlavorDimensions.BILLING } create(Flavors.PLAY) { dimension = FlavorDimensions.BILLING } } testOptions { execution = "ANDROIDX_TEST_ORCHESTRATOR" } compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } kotlin { compilerOptions { jvmTarget = JvmTarget.fromTarget(libs.versions.jvm.target.get()) allWarningsAsErrors = true } } lint { lintConfig = file("${rootProject.projectDir}/config/lint.xml") abortOnError = true warningsAsErrors = true } packaging { resources { pickFirsts += setOf( // Fixes packaging error caused by: jetified-junit-* "META-INF/LICENSE.md", "META-INF/LICENSE-notice.md", ) } } } dependencies { implementation(projects.lib.endpoint) implementation(projects.test.common) implementation(projects.lib.ui.tag) implementation(libs.androidx.test.core) // Fixes: https://github.com/android/android-test/issues/1589 implementation(libs.androidx.test.monitor) implementation(libs.androidx.test.runner) implementation(libs.androidx.test.rules) implementation(libs.androidx.test.uiautomator) implementation(libs.kermit) implementation(libs.junit.jupiter.api) implementation(libs.junit5.android.test.extensions) implementation(libs.junit5.android.test.runner) implementation(libs.kotlin.stdlib) implementation(libs.mockkWebserver) androidTestUtil(libs.androidx.test.orchestrator) // Needed or else the app crashes when launched implementation(libs.junit5.android.test.compose) implementation(libs.compose.material3) // Need these for forcing later versions of dependencies implementation(libs.compose.ui) implementation(libs.androidx.activity.compose) }