Left: | ||
Right: |
OLD | NEW |
---|---|
1 Adblock Plus for Chrome, Opera and Firefox | 1 Adblock Plus for Chrome, Opera, Microsoft Edge and Firefox |
2 ========================================== | 2 ========================================== |
Sebastian Noack
2017/06/14 05:13:39
Nit: Please use as many equal signs here as the li
| |
3 | 3 |
4 This repository contains the platform-specific Adblock Plus source code for | 4 This repository contains the platform-specific Adblock Plus source code for |
5 Chrome, Opera and Firefox. It can be used to build Adblock Plus for these | 5 Chrome, Opera, Microsoft Edge and Firefox. It can be used to build |
6 platforms, generic Adblock Plus code will be extracted from other repositories | 6 Adblock Plus for these platforms, generic Adblock Plus code will be extracted |
7 automatically (see _dependencies_ file). | 7 from other repositories automatically (see _dependencies_ file). |
8 | 8 |
9 Note that the Firefox extension built from this repository is the new | 9 Note that the Firefox extension built from this repository is the new |
10 [WebExtension](https://developer.mozilla.org/en-US/Add-ons/WebExtensions). | 10 [WebExtension](https://developer.mozilla.org/en-US/Add-ons/WebExtensions). |
11 The source code of the legacy Adblock Plus extension | 11 The source code of the legacy Adblock Plus extension |
12 can be found [here](https://hg.adblockplus.org/adblockplus). | 12 can be found [here](https://hg.adblockplus.org/adblockplus). |
13 | 13 |
14 Building | 14 Building |
15 --------- | 15 --------- |
16 | 16 |
17 ### Requirements | 17 ### Requirements |
18 | 18 |
19 - [Mercurial](https://www.mercurial-scm.org/) or [Git](https://git-scm.com/) (wh ichever you used to clone this repository) | 19 - [Mercurial](https://www.mercurial-scm.org/) or [Git](https://git-scm.com/) (wh ichever you used to clone this repository) |
20 - [Python 2.7](https://www.python.org) | 20 - [Python 2.7](https://www.python.org) |
21 - [The Jinja2 module](http://jinja.pocoo.org/docs) (>= 2.8) | 21 - [The Jinja2 module](http://jinja.pocoo.org/docs) (>= 2.8) |
22 - [The PIL module](http://www.pythonware.com/products/pil/) | 22 - [The PIL module](http://www.pythonware.com/products/pil/) |
23 - For signed builds: [PyCrypto module](https://www.dlitz.net/software/pycrypto/) | 23 - For signed builds: [PyCrypto module](https://www.dlitz.net/software/pycrypto/) |
24 | 24 |
25 ### Building the extension | 25 ### Building the extension |
26 | 26 |
27 Run one of the following commands in the project directory, depending on your | 27 Run one of the following commands in the project directory, depending on your |
28 target platform: | 28 target platform: |
29 | 29 |
30 ./build.py -t chrome build -k adblockpluschrome.pem | 30 ./build.py -t chrome build -k adblockpluschrome.pem |
31 ./build.py -t gecko-webext build | 31 ./build.py -t gecko-webext build |
32 ./build.py -t edge build | |
Sebastian Noack
2017/06/14 05:13:39
Nit: In the human-readable description we refer to
| |
32 | 33 |
33 This will create a build with a name in the form | 34 This will create a build with a name in the form |
34 _adblockpluschrome-1.2.3.nnnn.crx_ or _adblockplusfirefox-1.2.3.nnnn.xpi_ | 35 _adblockpluschrome-1.2.3.nnnn.crx_ or _adblockplusfirefox-1.2.3.nnnn.xpi_ or |
Sebastian Noack
2017/06/14 05:13:39
Nit: Don't use multiple "or", use "a, b or c" inst
| |
36 _adblockplusedge-1.2.3.nnnn.appx_. | |
35 | 37 |
36 Note that you don't need an existing signing key for Chrome, a new key | 38 Note that you don't need an existing signing key for Chrome, a new key |
37 will be created automatically if the file doesn't exist. | 39 will be created automatically if the file doesn't exist. |
38 | 40 |
41 The Microsoft Edge build _adblockplusedge-1.2.3.nnnn.appx_ is unsigned and | |
42 is only useful for uploading into Windows Store, where it will be signed. For | |
43 testing use the devenv build. | |
44 | |
39 The Firefox extension will be unsigned, and therefore is mostly only useful for | 45 The Firefox extension will be unsigned, and therefore is mostly only useful for |
40 upload to Mozilla Add-ons. You can also also load it for testing purposes under | 46 upload to Mozilla Add-ons. You can also also load it for testing purposes under |
41 _about:debugging_ or by disabling signature enforcement in Firefox Nightly. | 47 _about:debugging_ or by disabling signature enforcement in Firefox Nightly. |
42 | 48 |
43 ### Development environment | 49 ### Development environment |
44 | 50 |
45 To simplify the process of testing your changes you can create an unpacked | 51 To simplify the process of testing your changes you can create an unpacked |
46 development environment. For that run one of the following commands: | 52 development environment. For that run one of the following commands: |
47 | 53 |
48 ./build.py -t chrome devenv | 54 ./build.py -t chrome devenv |
49 ./build.py -t gecko-webext devenv | 55 ./build.py -t gecko-webext devenv |
56 ./build.py -t edge devenv | |
50 | 57 |
51 This will create a _devenv.*_ directory in the repository. You can load the | 58 This will create a _devenv.*_ directory in the repository. You can load the |
52 directory as an unpacked extension, under _chrome://extensions_ in Chrome, | 59 directory as an unpacked extension, under _chrome://extensions_ in Chrome, |
53 or under _about:debugging_ in Firefox. After making changes to the | 60 under _about:debugging_ in Firefox or in Extensions menu in Edge, after enabling |
Sebastian Noack
2017/06/14 05:13:38
"... in the _Extensions_ menu in Microsoft Edge ..
| |
54 source code re-run the command to update the development environment, the | 61 extension development features in _about:flags_. After making changes to the |
55 extension should reload automatically after a few seconds. | 62 source code re-run the command to update the development environment. In Chrome |
63 and Firefox the extension should reload automatically after a few seconds. | |
64 | |
65 Edge build does not automatically detect changes, so after rebuilding the | |
Sebastian Noack
2017/06/14 05:13:39
"Builds for Microsoft Edge do not ..."
| |
66 extension you should manually force reloading it in Edge by hitting the | |
67 _Reload Extension_ button. | |
56 | 68 |
57 Running the unit tests | 69 Running the unit tests |
58 ---------------------- | 70 ---------------------- |
59 | 71 |
60 To verify your changes you can use the unit test suite located in the _qunit_ | 72 To verify your changes you can use the unit test suite located in the _qunit_ |
61 directory of the repository. In order to run the unit tests go to the | 73 directory of the repository. In order to run the unit tests go to the |
62 extension's Options page, open the JavaScript Console and type in: | 74 extension's Options page, open the JavaScript Console and type in: |
63 | 75 |
64 location.href = "qunit/index.html"; | 76 location.href = "qunit/index.html"; |
65 | 77 |
66 The unit tests will run automatically once the page loads. | 78 The unit tests will run automatically once the page loads. |
67 | 79 |
68 Linting | 80 Linting |
69 ------- | 81 ------- |
70 | 82 |
71 You can lint the code using [ESLint](http://eslint.org). | 83 You can lint the code using [ESLint](http://eslint.org). |
72 | 84 |
73 eslint *.js lib/ qunit/ ext/ chrome/ | 85 eslint *.js lib/ qunit/ ext/ chrome/ |
74 | 86 |
75 You will need to set up ESLint and our configuration first, see | 87 You will need to set up ESLint and our configuration first, see |
76 [eslint-config-eyeo](https://hg.adblockplus.org/codingtools/file/tip/eslint-conf ig-eyeo) | 88 [eslint-config-eyeo](https://hg.adblockplus.org/codingtools/file/tip/eslint-conf ig-eyeo) |
77 for more information. | 89 for more information. |
OLD | NEW |