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 |
(...skipping 19 matching lines...) Expand all Loading... |
30 ### Automation ### | 30 ### Automation ### |
31 | 31 |
32 While the manual process is still documented below, the easiest way to create a | 32 While the manual process is still documented below, the easiest way to create a |
33 multi-locale build is to use: https://bitbucket.org/adblockplus/adblockbrowser-b
uild. | 33 multi-locale build is to use: https://bitbucket.org/adblockplus/adblockbrowser-b
uild. |
34 | 34 |
35 ### Preparations ### | 35 ### Preparations ### |
36 | 36 |
37 1. Create a folder outside of the Adblock Browser repo, e.g `abb-multi` | 37 1. Create a folder outside of the Adblock Browser repo, e.g `abb-multi` |
38 2. Change into `abb-multi` and clone mozharness via: | 38 2. Change into `abb-multi` and clone mozharness via: |
39 | 39 |
40 hg clone http://hg.mozilla.org/build/mozharness -r FENNEC_40_0b8_RELEASE | 40 hg clone ssh://hg@bitbucket.org/adblockplus/mozharness -r adblockbrowser |
41 | 41 |
42 3. Symlink the adblockbrowser repo into `abb-multi`, e.g.: | 42 3. Symlink the adblockbrowser repo into `abb-multi`, e.g.: |
43 | 43 |
44 ln -s ../adblockbrowser adblockbrowser | 44 ln -s ../adblockbrowser adblockbrowser |
45 | 45 |
46 4. Copy your `mozconfig` from `adblockbrowser` to `abb-multi`, e.g.: | 46 4. Copy your `mozconfig` from `adblockbrowser` to `abb-multi`, e.g.: |
47 | 47 |
48 cp adblockbrowser/mozconfig ./mozconfig | 48 cp adblockbrowser/mozconfig ./mozconfig |
49 | 49 |
50 5. Create a copy of the build configuration, e.g.: | 50 5. Create a copy of the build configuration, e.g.: |
(...skipping 12 matching lines...) Expand all Loading... |
63 * **Remove the repository pulling part** from `config`. | 63 * **Remove the repository pulling part** from `config`. |
64 The code to remove looks like this: | 64 The code to remove looks like this: |
65 | 65 |
66 "repos": [{ | 66 "repos": [{ |
67 "repo": "https://hg.mozilla.org/%s" % REPO_PATH, | 67 "repo": "https://hg.mozilla.org/%s" % REPO_PATH, |
68 "tag": "default", | 68 "tag": "default", |
69 "dest": BUILD_DIR, | 69 "dest": BUILD_DIR, |
70 }], | 70 }], |
71 | 71 |
72 * Change `"hg_l10n_tag"` in `config` from `default` to `FENNEC_40_0_RELEASE` | 72 * Change `"hg_l10n_tag"` in `config` from `default` to `FENNEC_40_0_RELEASE` |
| 73 * [Issue #3047][2] introduced a custom build step named `abb-transform-locales` |
| 74 for manipulating search engine availability and order. This must be inserted |
| 75 into `default_actions` right before `package-multi` |
73 * You might want to remove the `"backup-objdir"` build step if you do | 76 * You might want to remove the `"backup-objdir"` build step if you do |
74 not want your objdir to be backed up. Keep in mind that you then need to | 77 not want your objdir to be backed up. Keep in mind that you then need to |
75 clobber for a single-locale build. | 78 clobber for a single-locale build. |
76 | 79 |
77 An example configuration could look like this: | 80 An example configuration could look like this: |
78 | 81 |
79 import os | 82 import os |
80 # The name of the directory we'll pull our source into. | 83 # The name of the directory we'll pull our source into. |
81 BUILD_DIR = "adblockbrowser" | 84 BUILD_DIR = "adblockbrowser" |
82 # This is everything that comes after https://hg.mozilla.org/ | 85 # This is everything that comes after https://hg.mozilla.org/ |
(...skipping 27 matching lines...) Expand all Loading... |
110 "l10n_dir": "l10n", | 113 "l10n_dir": "l10n", |
111 "merge_locales": True, | 114 "merge_locales": True, |
112 "mozilla_dir": BUILD_DIR, | 115 "mozilla_dir": BUILD_DIR, |
113 "mozconfig": MOZCONFIG, | 116 "mozconfig": MOZCONFIG, |
114 "default_actions": [ | 117 "default_actions": [ |
115 "pull-locale-source", | 118 "pull-locale-source", |
116 "build", | 119 "build", |
117 "package-en-US", | 120 "package-en-US", |
118 "restore-objdir", | 121 "restore-objdir", |
119 "add-locales", | 122 "add-locales", |
| 123 "abb-transform-locales", |
120 "package-multi", | 124 "package-multi", |
121 "summary", | 125 "summary", |
122 ], | 126 ], |
123 } | 127 } |
124 | 128 |
125 ### Building ### | 129 ### Building ### |
126 | 130 |
127 For performing the multilocale build, invoke | 131 For performing the multilocale build, invoke |
128 | 132 |
129 ./mozharness/scripts/multil10n.py --cfg abb-multi-cfg.py | 133 ./mozharness/scripts/multil10n.py --cfg abb-multi-cfg.py |
130 | 134 |
131 from inside `abb-multi`. The resulting build is located in | 135 from inside `abb-multi`. The resulting build is located in |
132 `BUILD_DIR/OBJ_DIR/dist/` | 136 `BUILD_DIR/OBJ_DIR/dist/` |
133 | 137 |
134 [1]: https://wiki.mozilla.org/Mobile/Fennec/Android | 138 [1]: https://wiki.mozilla.org/Mobile/Fennec/Android |
| 139 [2]: https://issues.adblockplus.org/ticket/3047 |
OLD | NEW |