summaryrefslogtreecommitdiffhomepage
path: root/android/test
diff options
context:
space:
mode:
Diffstat (limited to 'android/test')
-rw-r--r--android/test/e2e/build.gradle.kts42
-rw-r--r--android/test/mockapi/build.gradle.kts7
2 files changed, 45 insertions, 4 deletions
diff --git a/android/test/e2e/build.gradle.kts b/android/test/e2e/build.gradle.kts
index 946e8effa9..8440967aa9 100644
--- a/android/test/e2e/build.gradle.kts
+++ b/android/test/e2e/build.gradle.kts
@@ -1,5 +1,6 @@
import com.android.build.gradle.internal.cxx.configure.gradleLocalProperties
import java.util.Properties
+import org.gradle.configurationcache.extensions.capitalized
plugins {
id(Dependencies.Plugin.androidTestId)
@@ -19,9 +20,6 @@ android {
"de.mannodermaus.junit5.AndroidJUnit5Builder"
targetProjectPath = ":app"
- missingDimensionStrategy(FlavorDimensions.BILLING, Flavors.OSS)
- missingDimensionStrategy(FlavorDimensions.INFRASTRUCTURE, Flavors.PROD)
-
fun Properties.addRequiredPropertyAsBuildConfigField(name: String) {
val value = getProperty(name) ?: throw GradleException("Missing property: $name")
buildConfigField(type = "String", name = name, value = "\"$value\"")
@@ -29,7 +27,6 @@ android {
Properties().apply {
load(project.file("e2e.properties").inputStream())
- addRequiredPropertyAsBuildConfigField("API_BASE_URL")
addRequiredPropertyAsBuildConfigField("API_VERSION")
}
@@ -51,6 +48,30 @@ android {
}
}
+ flavorDimensions += FlavorDimensions.BILLING
+ flavorDimensions += FlavorDimensions.INFRASTRUCTURE
+
+ productFlavors {
+ create(Flavors.OSS) { dimension = FlavorDimensions.BILLING }
+ create(Flavors.PLAY) { dimension = FlavorDimensions.BILLING }
+ create(Flavors.PROD) {
+ dimension = FlavorDimensions.INFRASTRUCTURE
+ buildConfigField(
+ type = "String",
+ name = "INFRASTRUCTURE_BASE_DOMAIN",
+ value = "\"mullvad.net\""
+ )
+ }
+ create(Flavors.STAGEMOLE) {
+ dimension = FlavorDimensions.INFRASTRUCTURE
+ buildConfigField(
+ type = "String",
+ name = "INFRASTRUCTURE_BASE_DOMAIN",
+ value = "\"stagemole.eu\""
+ )
+ }
+ }
+
testOptions { execution = "ANDROIDX_TEST_ORCHESTRATOR" }
compileOptions {
@@ -78,6 +99,19 @@ android {
}
}
+androidComponents {
+ beforeVariants { variantBuilder ->
+ variantBuilder.enable =
+ variantBuilder.let { currentVariant ->
+ val enabledVariants =
+ enabledE2eVariantTriples.map { (billing, infra, buildType) ->
+ billing + infra.capitalized() + buildType.capitalized()
+ }
+ enabledVariants.contains(currentVariant.name)
+ }
+ }
+}
+
configure<org.owasp.dependencycheck.gradle.extension.DependencyCheckExtension> {
// Skip the lintClassPath configuration, which relies on many dependencies that has been flagged
// to have CVEs, as it's related to the lint tooling rather than the project's compilation class
diff --git a/android/test/mockapi/build.gradle.kts b/android/test/mockapi/build.gradle.kts
index 3fea2d5d60..5c88d90d82 100644
--- a/android/test/mockapi/build.gradle.kts
+++ b/android/test/mockapi/build.gradle.kts
@@ -26,6 +26,13 @@ android {
)
}
+ flavorDimensions += FlavorDimensions.BILLING
+
+ productFlavors {
+ create(Flavors.OSS) { dimension = FlavorDimensions.BILLING }
+ create(Flavors.PLAY) { dimension = FlavorDimensions.BILLING }
+ }
+
testOptions { execution = "ANDROIDX_TEST_ORCHESTRATOR" }
compileOptions {