diff --git a/app/build.gradle b/app/build.gradle index 64568d000c..3c37ecdef3 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -109,6 +109,16 @@ android { resValue "bool", "IS_DEBUG", "true" pseudoLocalesEnabled true } + forkRelease releaseTemplate >> { + buildConfigField "boolean", "USE_RELEASE_VERSIONING", "true" + applicationIdSuffix ".firefox" + def deepLinkSchemeValue = "fenix" + buildConfigField "String", "DEEP_LINK_SCHEME", "\"$deepLinkSchemeValue\"" + manifestPlaceholders = [ + "deepLinkScheme": deepLinkSchemeValue + ] + } + } aaptOptions { @@ -152,6 +162,10 @@ android { forkDebug { java.srcDirs = ['src/geckoNightly/java'] } + forkRelease { + // No migration needed for fork + java.srcDirs = ['src/geckoRelease/java'] + } } splits { @@ -331,6 +345,7 @@ dependencies { nightlyImplementation Deps.mozilla_browser_engine_gecko_nightly betaImplementation Deps.mozilla_browser_engine_gecko_beta releaseImplementation Deps.mozilla_browser_engine_gecko_release + forkReleaseImplementation Deps.mozilla_browser_engine_gecko_release implementation Deps.kotlin_stdlib implementation Deps.kotlin_coroutines diff --git a/app/src/main/java/org/mozilla/fenix/Config.kt b/app/src/main/java/org/mozilla/fenix/Config.kt index 96d347e605..50fd914592 100644 --- a/app/src/main/java/org/mozilla/fenix/Config.kt +++ b/app/src/main/java/org/mozilla/fenix/Config.kt @@ -9,7 +9,8 @@ enum class ReleaseChannel { ForkDebug, Nightly, Beta, - Release; + Release, + ForkRelease; val isReleased: Boolean get() = when (this) { @@ -29,11 +30,12 @@ enum class ReleaseChannel { get() = !this.isReleased val isReleaseOrBeta: Boolean - get() = this == Release || this == Beta + get() = this == Release || this == Beta || this == ForkRelease val isRelease: Boolean get() = when (this) { Release -> true + ForkRelease -> true else -> false } @@ -63,6 +65,7 @@ object Config { "beta" -> ReleaseChannel.Beta "release" -> ReleaseChannel.Release "forkDebug" -> ReleaseChannel.ForkDebug + "forkRelease" -> ReleaseChannel.ForkRelease else -> { throw IllegalStateException("Unknown build type: ${BuildConfig.BUILD_TYPE}") }