diff --git a/app/build.gradle b/app/build.gradle index 2035810be..64568d000 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -102,6 +102,13 @@ android { "deepLinkScheme": deepLinkSchemeValue ] } + forkDebug { + shrinkResources false + minifyEnabled false + applicationIdSuffix ".fenix.debug" + resValue "bool", "IS_DEBUG", "true" + pseudoLocalesEnabled true + } } aaptOptions { @@ -142,6 +149,9 @@ android { java.srcDirs = ['src/migration/java', 'src/geckoRelease/java'] manifest.srcFile "src/migration/AndroidManifest.xml" } + forkDebug { + java.srcDirs = ['src/geckoNightly/java'] + } } splits { @@ -316,6 +326,7 @@ apply plugin: "org.mozilla.telemetry.glean-gradle-plugin" dependencies { debugImplementation Deps.mozilla_browser_engine_gecko_nightly + forkDebugImplementation Deps.mozilla_browser_engine_gecko_nightly nightlyImplementation Deps.mozilla_browser_engine_gecko_nightly betaImplementation Deps.mozilla_browser_engine_gecko_beta @@ -529,6 +540,9 @@ if (project.hasProperty("coverage")) { debug { testCoverageEnabled true } + forkDebug { + testCoverageEnabled true + } } } } diff --git a/app/src/main/java/org/mozilla/fenix/Config.kt b/app/src/main/java/org/mozilla/fenix/Config.kt index 5ee692e40..96d347e60 100644 --- a/app/src/main/java/org/mozilla/fenix/Config.kt +++ b/app/src/main/java/org/mozilla/fenix/Config.kt @@ -6,6 +6,7 @@ package org.mozilla.fenix enum class ReleaseChannel { Debug, + ForkDebug, Nightly, Beta, Release; @@ -13,6 +14,7 @@ enum class ReleaseChannel { val isReleased: Boolean get() = when (this) { Debug -> false + ForkDebug -> false else -> true } @@ -39,7 +41,7 @@ enum class ReleaseChannel { get() = this == Beta val isNightlyOrDebug: Boolean - get() = this == Debug || this == Nightly + get() = this == Debug || this == Nightly || this == ForkDebug /** * Is this a build for a release channel that we used to ship Fennec on? @@ -60,6 +62,7 @@ object Config { "nightly" -> ReleaseChannel.Nightly "beta" -> ReleaseChannel.Beta "release" -> ReleaseChannel.Release + "forkDebug" -> ReleaseChannel.ForkDebug else -> { throw IllegalStateException("Unknown build type: ${BuildConfig.BUILD_TYPE}") }