| Left: | ||
| Right: |
| OLD | NEW |
|---|---|
| 1 Adblock Browser | 1 Adblock Browser |
| 2 =============== | 2 =============== |
| 3 | 3 |
| 4 The Adblock Plus browser, based on Firefox for Android. | 4 The Adblock Plus browser, based on Firefox for Android. |
| 5 | 5 |
| 6 Building | 6 Building |
| 7 -------- | 7 -------- |
| 8 | 8 |
| 9 First ensure that all dependencies are up to date by calling: | 9 First ensure that all dependencies are up to date by calling: |
| 10 | 10 |
| 11 ./ensure_dependencies.py | 11 ./ensure_dependencies.py |
| 12 | 12 |
| 13 Then just follow Mozilla's [Building Fennec][1] guide. | 13 Then just follow Mozilla's [Firefox for Android build instructions][1]. |
| 14 | 14 |
| 15 | 15 |
| 16 Creating a multilocale build | 16 Creating a multilocale build |
| 17 ---------------------------- | 17 ---------------------------- |
| 18 | 18 |
| 19 ### Automation ### | 19 ### Automation ### |
| 20 | 20 |
| 21 While the manual process is still documented below, the easiest way to create a | 21 While the manual process is still documented below, the easiest way to create a |
| 22 multi-locale build is to use: https://bitbucket.org/adblockplus/adblockbrowser-b uild. | 22 multi-locale build is to use [adblockbrowser-build][2]. |
| 23 | 23 |
| 24 ### Preparations ### | 24 ### Preparations ### |
| 25 | 25 |
| 26 1. Create a folder outside of the Adblock Browser repo, e.g `abb-multi` | 26 1. Create a folder outside of the Adblock Browser repo, e.g `abb-multi` |
| 27 2. Change into `abb-multi` and clone mozharness via: | 27 2. Change into `abb-multi` and clone mozharness via: |
| 28 | 28 |
| 29 hg clone ssh://hg@bitbucket.org/adblockplus/mozharness -r adblockbrowser | 29 hg clone ssh://hg@bitbucket.org/adblockplus/mozharness -r adblockbrowser |
| 30 | 30 |
| 31 3. Symlink the adblockbrowser repo into `abb-multi`, e.g.: | 31 3. Symlink the adblockbrowser repo into `abb-multi`, e.g.: |
| 32 | 32 |
| (...skipping 18 matching lines...) Expand all Loading... | |
| 51 * If your `mozconfig` is not called `mozconfig`, change `MOZCONFIG` | 51 * If your `mozconfig` is not called `mozconfig`, change `MOZCONFIG` |
| 52 * **Remove the repository pulling part** from `config`. | 52 * **Remove the repository pulling part** from `config`. |
| 53 The code to remove looks like this: | 53 The code to remove looks like this: |
| 54 | 54 |
| 55 "repos": [{ | 55 "repos": [{ |
| 56 "repo": "https://hg.mozilla.org/%s" % REPO_PATH, | 56 "repo": "https://hg.mozilla.org/%s" % REPO_PATH, |
| 57 "tag": "default", | 57 "tag": "default", |
| 58 "dest": BUILD_DIR, | 58 "dest": BUILD_DIR, |
| 59 }], | 59 }], |
| 60 | 60 |
| 61 * Change `"hg_l10n_tag"` in `config` from `default` to `FENNEC_44_0_2_RELEASE` | 61 * Change `"hg_l10n_tag"` in `config` from `default` to `FENNEC_45_0_2_RELEASE` |
| 62 * Add `en-ZA` to `ignore_locales` since it isn't currently supported | 62 * Add `en-ZA` to `ignore_locales` since it isn't currently supported |
| 63 * [Issue #3047][2] introduced a custom build step named `abb-transform-locales` | 63 * [Issue #3047][3] introduced a custom build step named `abb-transform-locales` |
| 64 for manipulating search engine availability and order. This must be inserted | 64 for manipulating search engine availability and order. This must be inserted |
| 65 into `default_actions` right before `package-multi` | 65 into `default_actions` right before `package-multi` |
| 66 * You might want to remove the `"backup-objdir"` build step if you do | 66 * You might want to remove the `"backup-objdir"` build step if you do |
| 67 not want your objdir to be backed up. Keep in mind that you then need to | 67 not want your objdir to be backed up. Keep in mind that you then need to |
| 68 clobber for a single-locale build. | 68 clobber for a single-locale build. |
| 69 | 69 |
| 70 An example configuration could look like this: | 70 An example configuration could look like this: |
| 71 | 71 |
| 72 import os | 72 import os |
| 73 # The name of the directory we'll pull our source into. | 73 # The name of the directory we'll pull our source into. |
| (...skipping 18 matching lines...) Expand all Loading... | |
| 92 "log_name": "multilocale", | 92 "log_name": "multilocale", |
| 93 "objdir": OBJDIR, | 93 "objdir": OBJDIR, |
| 94 "locales_file": "%s/%s/locales/maemo-locales" % (BUILD_DIR, ANDROID_DIR) , | 94 "locales_file": "%s/%s/locales/maemo-locales" % (BUILD_DIR, ANDROID_DIR) , |
| 95 "locales_dir": "%s/locales" % ANDROID_DIR, | 95 "locales_dir": "%s/locales" % ANDROID_DIR, |
| 96 "ignore_locales": ["en-US", "en-ZA", "multi"], | 96 "ignore_locales": ["en-US", "en-ZA", "multi"], |
| 97 "l10n_repos": [{ | 97 "l10n_repos": [{ |
| 98 "repo": "https://hg.mozilla.org/build/compare-locales", | 98 "repo": "https://hg.mozilla.org/build/compare-locales", |
| 99 "tag": "RELEASE_AUTOMATION" | 99 "tag": "RELEASE_AUTOMATION" |
| 100 }], | 100 }], |
| 101 "hg_l10n_base": "https://hg.mozilla.org/%s" % L10N_REPO_PATH, | 101 "hg_l10n_base": "https://hg.mozilla.org/%s" % L10N_REPO_PATH, |
| 102 "hg_l10n_tag": "FENNEC_44_0_2_RELEASE", | 102 "hg_l10n_tag": "FENNEC_45_0_2_RELEASE", |
| 103 "l10n_dir": "l10n", | 103 "l10n_dir": "l10n", |
| 104 "merge_locales": True, | 104 "merge_locales": True, |
| 105 "mozilla_dir": BUILD_DIR, | 105 "mozilla_dir": BUILD_DIR, |
| 106 "mozconfig": MOZCONFIG, | 106 "mozconfig": MOZCONFIG, |
| 107 "default_actions": [ | 107 "default_actions": [ |
| 108 "pull-locale-source", | 108 "pull-locale-source", |
| 109 "build", | 109 "build", |
| 110 "package-en-US", | 110 "package-en-US", |
| 111 "restore-objdir", | 111 "restore-objdir", |
| 112 "add-locales", | 112 "add-locales", |
| 113 "abb-transform-locales", | 113 "abb-transform-locales", |
| 114 "package-multi", | 114 "package-multi", |
| 115 "summary", | 115 "summary", |
| 116 ], | 116 ], |
| 117 } | 117 } |
| 118 | 118 |
| 119 ### Building ### | 119 ### Building ### |
| 120 | 120 |
| 121 For performing the multilocale build, invoke | 121 For performing the multilocale build, invoke |
| 122 | 122 |
| 123 ./mozharness/scripts/multil10n.py --cfg abb-multi-cfg.py | 123 ./mozharness/scripts/multil10n.py --cfg abb-multi-cfg.py |
| 124 | 124 |
| 125 from inside `abb-multi`. The resulting build is located in | 125 from inside `abb-multi`. The resulting build is located in |
| 126 `BUILD_DIR/OBJ_DIR/dist/` | 126 `BUILD_DIR/OBJ_DIR/dist/` |
| 127 | 127 |
| 128 [1]: https://wiki.mozilla.org/Mobile/Fennec/Android | 128 [1]: https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Inst ructions/Simple_Firefox_for_Android_build |
| 129 [2]: https://issues.adblockplus.org/ticket/3047 | 129 [2]: hg.adblockplus.org/adblockbrowser-build/ |
|
jens
2017/08/15 13:38:21
minor one, but you could add https://
diegocarloslima
2017/08/15 14:04:42
Acknowledged.
| |
| 130 [3]: https://issues.adblockplus.org/ticket/3047 | |
| OLD | NEW |