Work in progress: https://github.com/ochameau/addon-sdk/compare/master...cfx.js
Created attachment 617750 [details] Pull request 410 WIP patch in order to give some visiblity to this work. Feedback is welcomed, but I'm still waiting before asking review.
Self hosted or in addon-sdk repository? For an addon developer, it isn't really valuable to download sources of cfx.js. The developer just need the xpi of it. So that there is no much value in hosting cfx.js in current addon-sdk repository for developers. We may just host cfx.js in its own repository, like addon builder helper addon. It allows to make a smaller SDK and decouple SDK modules from tools that live around them. But it comes with some disavantages. For example it is a bit harder, or at least, it takes some additional time to develop cfx.js when some modifications are needed in SDK modules. Just because we have to handle two git repositories and use a very specific addon-sdk revision for some cfx.js changes. It will require some work on tbpl in order to run cfx.js too.
Daniel, we will have to synchronize us on this bug. When this is going to land, you will need a firefox/xulrunner binary on Addon builder servers which execute cfx, in order to be able to run "cfx xpi".
Pushed to try: https://tbpl.mozilla.org/?tree=Try&rev=edd75b6f345c
Comment on attachment 617750 [details] Pull request 410 All tests now pass on tinderbox!! This patch is now ready to be reviewed. Unfortunately I had to rebase it because of various issues with git :( (I wasn't able to rebase a revision before pushing it, I unfortunately commited a huge xpi file that I didn't want to put in git history) It should now be 99.99% the same than python implementation. I've added preferences and file filtering implementation. So that we can land it to master. But I'm still open to landing it in a branch if you think it is a better option. The only cfx behavior modification is for mobile development. You will now have to pass the path to ADB via `--adb` option, instead of `--binary`. That's because you may pass a custom pass to firefox binary by using --binary in order to build the xpi by cfx.js. All existing python tests are still running but against JS implementation. Otherwise I kept the python xpi building implementation as it can be handy while working on cfx.js. cfx.js is a regular sdk addon that needs to be built by cfx and installed here: `cfx/xulrunner-app/cfx.xpi`. So if anything goes wrong with cfx.js you can enable python implementation in xpi.py in order to build it. We can remove it during next cfx.js steps as it won't work with new manifest.
Comment on attachment 617750 [details] Pull request 410 Please hold on landing this for a bit, details are in pull request.
Closing this bug as everything got reviewed and landed in cfx-js upstream repo.