summaryrefslogtreecommitdiffstats
path: root/mobile/android/fenix/docs/substituting-local-gv.md
diff options
context:
space:
mode:
Diffstat (limited to 'mobile/android/fenix/docs/substituting-local-gv.md')
-rw-r--r--mobile/android/fenix/docs/substituting-local-gv.md76
1 files changed, 76 insertions, 0 deletions
diff --git a/mobile/android/fenix/docs/substituting-local-gv.md b/mobile/android/fenix/docs/substituting-local-gv.md
new file mode 100644
index 0000000000..27605c3caa
--- /dev/null
+++ b/mobile/android/fenix/docs/substituting-local-gv.md
@@ -0,0 +1,76 @@
+# Substituting local GeckoView
+
+### 1. Manually publish local GeckoView to local Maven
+
+Publish our local GeckoView to our local maven:
+```sh
+./mach build && ./mach gradle \
+ geckoview:publishWithGeckoBinariesDebugPublicationToMavenLocal \
+ exoplayer2:publishDebugPublicationToMavenLocal
+```
+
+:warning: **This needs to be run every time you make changes.** :warning:
+
+You need to copy the version in the logs or run:
+```sh
+./mach build | grep version
+```
+(ex. `115.0.20230511122045-SNAPSHOT`)
+
+### 2. Modify Fenix to consume local GV
+Update the build.gradle and Gecko.kt file in Fenix (see the diffs below). Remember to update the GV version with the version you found in step 2!
+
+*fenix/build.gradle*
+```diff
+diff --git a/fenix/build.gradle b/fenix/build.gradle
+index 6a635a4818..4c8cc28995 100644
+--- a/fenix/build.gradle
++++ b/fenix/build.gradle
+@@ -5,6 +5,7 @@ import org.mozilla.fenix.gradle.tasks.GithubDetailsTask
+ buildscript {
+ // This logic is duplicated in the allprojects block: I don't know how to fix that.
+ repositories {
++ mavenLocal()
+ maven {
+ name "Mozilla Nightly"
+ url "https://nightly.maven.mozilla.org/maven2"
+@@ -90,6 +91,7 @@ plugins {
+ allprojects {
+ // This logic is duplicated in the buildscript block: I don't know how to fix that.
+ repositories {
++ mavenLocal()
+ maven {
+ name "Mozilla Nightly"
+ url "https://nightly.maven.mozilla.org/maven2"
+```
+*Gecko.kt*
+```diff
+diff --git a/android-components/plugins/dependencies/src/main/java/Gecko.kt b/android-components/plugins/dependencies/src/main/java/Gecko.kt
+index bed3fb0161..2d3a19a96e 100644
+--- a/android-components/plugins/dependencies/src/main/java/Gecko.kt
++++ b/android-components/plugins/dependencies/src/main/java/Gecko.kt
+@@ -9,7 +9,7 @@ object Gecko {
+ /**
+ * GeckoView Version.
+ */
+- const val version = "115.0.20230511131014"
++ const val version = "115.0.20230511122045-SNAPSHOT"
+
+ /**
+ * GeckoView channel
+@@ -23,7 +23,7 @@ object Gecko {
+ enum class GeckoChannel(
+ val artifactName: String,
+ ) {
+- NIGHTLY("geckoview-nightly-omni"),
++ NIGHTLY("geckoview-default-omni"),
+ BETA("geckoview-beta-omni"),
+ RELEASE("geckoview-omni"),
+ }
+
+```
+
+### 3. Build fenix with local GV
+Now sync your gradle changes and build!
+
+An easy way to confirm you are using a local GV is switching your Android Studio project tool window to "Project" and looking in the root directory called "External Libraries" for "GeckoView". You should see something like `Gradle: org.mozilla.geckoview-default-omni:115.0.20230511122045-SNAPSHOT@aar`