commit | bbc88c6c70a84555460fd8dff88eb4b24fb43bef | [log] [tgz] |
---|---|---|
author | avm99963 <me@avm99963.com> | Fri Dec 25 03:44:41 2020 +0100 |
committer | avm99963 <me@avm99963.com> | Sun Dec 27 11:42:23 2020 +0100 |
tree | 93bc8d78d7bb74e1c118baa38a75b1c299bbf66a | |
parent | 0991c69b3300b7c1e4b833bbb226f37bac7094c2 [diff] |
Add support for Manifest V3 Manifest V3 (MV3) is a new version of the manifest.json file, which also comes with several API changes: https://developer.chrome.com/docs/extensions/mv3/intro/ Therefore, this change does the following: - Add a new target to the Makefile and release.bash scripts called "chromium-mv3-beta"/"CHROMIUM_MV3" which target Chromium using Manifest V3. - Adapt the manifest.gjson template so it is compatible with Manifest V3 when the target is "CHROMIUM_MV3". - Adapt the source code (change the background page to a service worker and change chrome.browserAction.* to chrome.action.*). Also, the following change has been done: - The "gecko-beta" target in the Makefile has been removed because in the end we never released beta versions for Firefox, due to the small user base there. Change-Id: Ibedcd6651cd23aa3db359a1ef7c7b96a232f39a7
An extension which brings several enhancements to the Google Forums and the Community Console.
When the code in the master
branch is considered to be stable, a release can be made. This is the procedure:
vx
, where x is the extension's version number for that release) by running bash tagRelease.bash --version vx
. Note that the tag must be pushed to Gerrit after being created.Afterwards, the release/build files must be submitted to the Chrome Web Store and addons.mozilla.org.
If during this process the release wasn't approved by Google or an issue was found during beta testing, a new release which fixes this should be created.
The procedure is similar to the one with the Chrome Web Store.
@TODO: Add more details once the first version of the extension has been uploaded to addons.mozilla.org.
A zip file with the contents of the extension, which can be uploaded to the Chrome Web Store and addons.mozilla.org, can be created with any of the following procedures (make sure to install Go before building the extension, as it is needed during the build):
Run bash release.bash -h
in order to learn how to use this command. To summarize, the command accepts the --channel
and --browser
flags (or their short versions -c
and -b
).
As an example, if you wanted to create a ZIP file of the beta-branded extension targeted for Firefox, you would run bash release.bash -c beta -b gecko
.
You can also use make to build the extension. This is just a wrapper for the release.bash
command.
Run make all
to build the extension for all the available channels and browsers. You can also run make {target}
where {target}
is one of the following: chromium-stable
, chromium-beta
, chromium-mv3-beta
, gecko-stable
.
Run make clean
to clean all the release files (this removes the out
folder, which is where the release files are saved).
When testing the extension during development, you don't have to build the extension each time you want to import an updated version to Chrome/Firefox. Instead, run go run generateManifest.go {browser}
once, where {browser}
is CHROMIUM
, GECKO
or CHROMIUM_MV3
, and this will generate a manifest.json
file for the specified browser in the src
directory. Now, you can load the src
folder directly in the browser in order to import the extension, which removes the need to build it. When the manifest.gjson
file is modified, you'll have to generate the manifest again.
To test translations, you might want to set your browser's locale. This section tells you how to set the locale in Windows, Mac OS X, Linux, and Chrome OS.
The beta channel for Chrome is available here.