Loop/Development: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(→‎Tracking: Drop fxos for now)
(→‎Repositories: Drop Fxos for now)
Line 14: Line 14:
* Master repository for Desktop and Standalone UI: [http://hg.mozilla.org/mozilla-central/ mozilla-central] (there's a [https://github.com/mozilla/gecko-dev git mirror] of it as well)
* Master repository for Desktop and Standalone UI: [http://hg.mozilla.org/mozilla-central/ mozilla-central] (there's a [https://github.com/mozilla/gecko-dev git mirror] of it as well)
* [https://github.com/mozilla-services/loop-server Loop server]
* [https://github.com/mozilla-services/loop-server Loop server]
* [https://github.com/mozilla-b2g/firefoxos-loop-client Firefox OS Loop client]


== Getting started with Firefox Desktop and Standalone development ==
== Getting started with Firefox Desktop and Standalone development ==

Revision as of 09:31, 1 April 2015

Bug Tracking and Repositories

Tracking

Bugs are stored in bugzilla:

  • Desktop & Standalone (aka 'link clicker'): 'Loop' product, 'Client' component
  • Server: 'Loop' product, 'Server' component

Tracking section to be added elsewhere, with a reference here

Repositories

Loop is contained across several repositories:

Getting started with Firefox Desktop and Standalone development

Directories

All files, apart from desktop locales are in mozilla-central, under browser/components/loop/. Within that directory there is:

  • *.jsm - Various modules used within Firefox desktop
  • build-jsx used to build the required jsx files
  • content/ - These files are all used on the desktop for the Loop panel and conversation window. They are loaded into content space rather than chrome
  • content/shared - Used for Firefox desktop, but also used for the standalone UI
  • standalone/ - Files used by the standalone application, including commands to make and run a standalone server (see below)
  • standalone/content - The content files for the standalone application
  • ui/ - A UI showcase, used to aid development and layout of styles for the various parts of the UI

Firefox Desktop

First, build Firefox.

Make sure you have npm installed:

brew install npm

and install react:

npm install -g react-tools

Standalone (aka link clicker) client

This also needs npm to run.

To run the server on localhost, do:

cd browser/components/loop/standalone
make install

Then to run the server:

make runserver

You'll also need to run a Loop server:

git checkout https://github.com/mozilla-services/loop-server
cd loop-server
make install

You'll then need to copy sample.json to dev.json. Ask in #loop if you need help. Then run:

make runserver

In a Firefox profile, you'll need to set the loop.server pref to http://localhost:5000

Developing

If you're altering any of the javascript files, you need to make sure you alter the jsx versions if they exist. Running:

cd browser/components/loop
./build-jsx

will generate the js versions of the file. Even better you can use:

./build-jsx -w

to keep watching the jsx files and updating them as the change.