Left: | ||
Right: |
LEFT | RIGHT |
---|---|
1 Adblock Plus for Chrome, Opera and Firefox | 1 Adblock Plus for Chrome, Opera and Firefox |
2 ========================================== | 2 ========================================== |
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 and Firefox. It can be used to build Adblock Plus for these |
6 platforms, generic Adblock Plus code will be extracted from other repositories | 6 platforms, generic Adblock Plus code will be extracted from other repositories |
7 automatically (see _dependencies_ file). | 7 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, based on the now | 11 The source code of the legacy Adblock Plus extension |
12 deprecated [Add-on SDK](https://developer.mozilla.org/en-US/Add-ons/SDK), | |
Wladimir Palant
2017/06/07 19:54:07
It's not based on the Add-on SDK, it's rather a pl
Sebastian Noack
2017/06/08 13:37:00
Done.
| |
13 can be found [here](https://hg.adblockplus.org/adblockplus). | 12 can be found [here](https://hg.adblockplus.org/adblockplus). |
14 | 13 |
15 Building | 14 Building |
16 --------- | 15 --------- |
17 | 16 |
18 ### Requirements | 17 ### Requirements |
19 | 18 |
20 - [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) |
21 - [Python 2.7](https://www.python.org) | 20 - [Python 2.7](https://www.python.org) |
22 - [The Jinja2 module](http://jinja.pocoo.org/docs) (>= 2.8) | 21 - [The Jinja2 module](http://jinja.pocoo.org/docs) (>= 2.8) |
23 - [The PIL module](http://www.pythonware.com/products/pil/) | 22 - [The PIL module](http://www.pythonware.com/products/pil/) |
24 - For signed builds: [PyCrypto module](https://www.dlitz.net/software/pycrypto/) | 23 - For signed builds: [PyCrypto module](https://www.dlitz.net/software/pycrypto/) |
25 | 24 |
26 ### Building the extension | 25 ### Building the extension |
27 | 26 |
28 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 |
29 target platform: | 28 target platform: |
30 | 29 |
31 ./build.py -t chrome build -k adblockpluschrome.pem | 30 ./build.py -t chrome build -k adblockpluschrome.pem |
32 ./build.py -t gecko-webext build | 31 ./build.py -t gecko-webext build |
33 | 32 |
34 This will create a build with a name in the form | 33 This will create a build with a name in the form |
35 _adblockpluschrome-1.2.3.nnnn.crx_ or _adblockplusfirefox-1.2.3.nnnn.xpi_ | 34 _adblockpluschrome-1.2.3.nnnn.crx_ or _adblockplusfirefox-1.2.3.nnnn.xpi_ |
36 | 35 |
37 Note that you don't need an existing signing key for Chrome, a new key | 36 Note that you don't need an existing signing key for Chrome, a new key |
38 will be created automatically if the file doesn't exist. | 37 will be created automatically if the file doesn't exist. |
39 | 38 |
40 The Firefox extension will be unsigned, and therefore cannot be loaded directly | 39 The Firefox extension will be unsigned, and therefore is mostly only useful for |
41 in Firefox, but is supposed to be uploaded to Mozilla add-ons. | 40 upload to Mozilla Add-ons. You can also also load it for testing purposes under |
Wladimir Palant
2017/06/07 19:54:07
Unsigned extensions can be installed temporarily v
Sebastian Noack
2017/06/08 13:37:00
Done.
| |
41 _about:debugging_ or by disabling signature enforcement in Firefox Nightly. | |
42 | 42 |
43 ### Development environment | 43 ### Development environment |
44 | 44 |
45 To simplify the process of testing your changes you can create an unpacked | 45 To simplify the process of testing your changes you can create an unpacked |
46 development environment. For that run one of the following commands: | 46 development environment. For that run one of the following commands: |
47 | 47 |
48 ./build.py -t chrome devenv | 48 ./build.py -t chrome devenv |
49 ./build.py -t gecko-webext devenv | 49 ./build.py -t gecko-webext devenv |
50 | 50 |
51 This will create a _devenv.*_ directory in the repository. You can load the | 51 This will create a _devenv.*_ directory in the repository. You can load the |
(...skipping 16 matching lines...) Expand all Loading... | |
68 Linting | 68 Linting |
69 ------- | 69 ------- |
70 | 70 |
71 You can lint the code using [ESLint](http://eslint.org). | 71 You can lint the code using [ESLint](http://eslint.org). |
72 | 72 |
73 eslint *.js lib/ qunit/ ext/ chrome/ | 73 eslint *.js lib/ qunit/ ext/ chrome/ |
74 | 74 |
75 You will need to set up ESLint and our configuration first, see | 75 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) | 76 [eslint-config-eyeo](https://hg.adblockplus.org/codingtools/file/tip/eslint-conf ig-eyeo) |
77 for more information. | 77 for more information. |
LEFT | RIGHT |