-
Notifications
You must be signed in to change notification settings - Fork 263
JEP SDK in Firefox
This document outlines process of landing core parts of Add-on SDK to the mozilla-central to be shipped with a rest of the Firefox.
See: Bug 731779
One of the core goals is to preserve current development ergonomics and maybe share those with other teams. This means following:
- Canonical repository remains on github.
- Code can be contributed via pull requests or patches in bugzilla.
- Changes to SDK modules should not require Firefox builds.
Jetpack project will have it's own clone of mozilla-central with a addon-sdk top level directory containing git clone of Addon-sdk repo. .hgignore
file will make sure that git history will be ignored. Changes from addon-sdk repo's special integration branch will be pulled down once a week by a Jetpack team's release engineer, committed to SDK's mozilla-central clone and then merged with official mozilla-central. Changes to integration branch will be merged once a week from master using --no-ff flag to create own a merge commit.
See: Bug 793916
Appropriate make files will incorporate SDK modules from mozilla-central's addon-sdk folder into a firefox builds.
See: Bug 793928
Any change reverted from mozilla-central will also be reverted on SDK clone of mozilla-central. In addition associated merge commit in git will be reverted on SDK integration branch and merged back to master. This way revert will propagate back to the master branch. Any fixes will have to create new commits and go through the above described process to end up in the mozilla-central.
Changes that causing tree colour changes from green will be reverted to make sure that integration branch is always green.
SDK modules layout and packaging will be changed to reflect one used in firefox. More details on this subject has being described under JEP lib
See: Bug 787346
CFX tool needs to be updated to add compatibility with a new module layout described above.
See: Bug 793924
CFX also will have to recognize modules shipped with a firefox and create appropriate entries in generated manifest file.
See: Bug 793925
Documentation generator will need to recognize new file layout and how these files map to the modules in the firefox.
See: Bug 793926
Any changes to the SDK codebase will go through standard review process. Contributor will have an option either submitting a pull request against addon-sdk repo or submitting a patch against addon-sdk or mozilla-central repos in bugzilla. Since mozilla-central will contain complete addon-sdk repo patches will remain compatible.
Add-on SDK test runner suite will have to be integrated into mozilla test suite and be enabled to run on each commit. Since changes from master will end up into mozilla-central once a week we'll have to keep either current tinderbox infrastructure or integrate try-server with github via hooks, similar to B2G team.
See: Bug 793921
Loader will have to recognise special sdk.local.path
preference. If such preference is set, loader will use specified location for leading modules instead of resource:///modules/commonjs/
.
This will enable faster iterations over SDK codebase once loader will sdk is integrated into Firefox.
See: Bug 793912