All Projects → mozilla-b2g → firefoxos-loop-client

mozilla-b2g / firefoxos-loop-client

Licence: Apache-2.0 license
DEPRECATED - Firefox OS client for the Loop service

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects
HTML
75241 projects
java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to firefoxos-loop-client

busybox
DEPRECATED - Fork of git://android.git.linaro.org/platform/external/busybox.git
Stars: ✭ 40 (+48.15%)
Mutual labels:  abandoned, unmaintained
npm-mirror
DEPRECATED - A utility for mirroring a subset of npm packages from another npm registry
Stars: ✭ 38 (+40.74%)
Mutual labels:  abandoned, unmaintained
iris
DEPRECATED - A Python 3 automation test tool for desktop applications
Stars: ✭ 18 (-33.33%)
Mutual labels:  abandoned, unmaintained
i2c-tools
DEPRECATED - git conversion of http://lm-sensors.org/svn/i2c-tools subversion repo.
Stars: ✭ 34 (+25.93%)
Mutual labels:  abandoned, unmaintained
elmo
DEPRECATED - Elmo ~ https://mozilla.github.io/elmo/
Stars: ✭ 32 (+18.52%)
Mutual labels:  abandoned, unmaintained
b2g-installer
DEPRECATED - Tools to easily flash b2g on your android phone
Stars: ✭ 27 (+0%)
Mutual labels:  abandoned, unmaintained
page-metadata-service
DEPRECATED - A RESTful service that returns the metadata about a given URL.
Stars: ✭ 18 (-33.33%)
Mutual labels:  abandoned, unmaintained
mozilla-download
DEPRECATED - Download firefox / b2g-desktop / mulet
Stars: ✭ 15 (-44.44%)
Mutual labels:  abandoned, unmaintained
rescuefox
DEPRECATED - demo game to drive 3D engine creation: rescue your pet space fox!
Stars: ✭ 35 (+29.63%)
Mutual labels:  abandoned, unmaintained
web-forward
DEPRECATED - Innovation acceleration program from Mozilla Labs
Stars: ✭ 17 (-37.04%)
Mutual labels:  abandoned, unmaintained
homeassistant-coronavirus-hessen
[Unmaintained] Home Assistant component to scrape the current SARS-CoV-2 data for the German state of Hessen from the website of the Hessisches Ministerium für Soziales und Integration.
Stars: ✭ 15 (-44.44%)
Mutual labels:  abandoned, unmaintained
Mozdef
DEPRECATED - MozDef: Mozilla Enterprise Defense Platform
Stars: ✭ 2,164 (+7914.81%)
Mutual labels:  abandoned, unmaintained
socialapi-dev
DEPRECATED - Experimental support for a Social API in Firefox
Stars: ✭ 41 (+51.85%)
Mutual labels:  abandoned, unmaintained
iris firefox
DEPRECATED - Test Suite for Firefox using Mozilla Iris
Stars: ✭ 41 (+51.85%)
Mutual labels:  abandoned, unmaintained
lumbergh
DEPRECATED - Whaaaat's happening? Careers website... Mmmkay?
Stars: ✭ 19 (-29.63%)
Mutual labels:  abandoned, unmaintained
oauthorizer
DEPRECATED - Enable easy use of oauth for other addons
Stars: ✭ 26 (-3.7%)
Mutual labels:  abandoned, unmaintained
valgrind
DEPRECATED - git-svn copy of the valgrind subversion repo. Firefox OS specific patches applied in "fxos" branch.
Stars: ✭ 22 (-18.52%)
Mutual labels:  abandoned, unmaintained
markup
DEPRECATED - This projects has been retired.
Stars: ✭ 25 (-7.41%)
Mutual labels:  abandoned, unmaintained
rilproxy
DEPRECATED
Stars: ✭ 21 (-22.22%)
Mutual labels:  abandoned, unmaintained
Gaia
DEPRECATED - Gaia is a HTML5-based Phone UI for the Boot 2 Gecko Project. NOTE: For details of what branches are used for what releases, see
Stars: ✭ 2,091 (+7644.44%)
Mutual labels:  abandoned, unmaintained

Firefox OS Loop Client

Build Status

Firefox OS client for the Loop service

Want to contribute?

Grunt

We rely on Grunt for performing repetetive task such as unit testing, linting, building and pushing the app onto the device. If this is the first time you clone the app you must install all the Grunt stuff. Grunt and Grunt plugins are installed and managed via npm, the Node.js package manager (so we would need to install Node.js as well).

If you already have Node.js and Grunt you just need to install the Grunt plugins we use. Please proceed as follow:

  $ npm install

At the moment we have a few Grunt tasks. Let's see them.

build

  $ grunt build

This the one a regular dev, user, tester o QA guy should use. It builds the app and push it onto the device (no WebIDE usage is involved).

release

  $ grunt release

This is the task that builds the app for releasing it.

test

  $ grunt test

This is the task we have for unit testing. It launches tests in shell with PhantomJS.

To add a new test, you only have to write the test (and add it somewhere under the test/ directory, preferably on test/unit) and then add a new .html file to test/test_scripts. That file should have the <script> tags to load your unit test and any other script file you need (like the one you're actually testing).

More notes about testing. We're using SlimerJS and grunt-mocha-slimerjs for testing. The Spec reporter (as set by default) do not log errors or stack traces on failures. So if you want to see the errors (and believe me, you will) then you need to specify the JSON reporter. The easiest way to do this is with:

  grunt test --testReporter=JSON

If you want to run only the test contained on test_name.js, execute:

  grunt test --testFile=name

e.g. to run only the test in test_join_room.js:

  grunt test --testFile=join_room

Grunt options

There are many flags that allow you to configure different parameters of the generated Loop Applications.

loopVersion

Replaces the loop version in both manifest.webapp and config.js with the string passed as parameter, e.g.

$ grunt build --loopVersion=2.2

configures loop version to 2.2. Please do not use this parameter unless you really need as otherwise it might interfere with Loop Production metrics.

loopServer

Configures the Loop server to be used.

You can use one of the pre-defined servers, where possible values are production|stage|development. Alternatively you can pass a full URL (including the protocol e.g. https://myloopserver.com).

This changes the server in the config.js and the origin in the manifest.webapp file.

E.g. for a predefined server.

$ grunt build --loopServer=production

E.g. for a custom server.

$ grunt build --loopServer=https://myloopserver.com

Please note that although the use of encryption is encouraged, the tool allows using servers using plain http. If an http server is used, the allowUnsecure parameter will be set to true in the application config.js.

enforceDevices

When setting this to true, only compatible/tested devices (Fire E) are allowed to use the app. When setting this to false, any device is allowed. E.g.

$ grunt build --enforceDevices=true

Using this option modifies the compatiblity.json file as required.

debug

When setting this to true, debug mode is enabled so logs are shown in the logcat. This modifies the parameter in config.js. E.g.

$ grunt build --debug=true
metrics

Configures if metrics are reported and to which server. Possible values are production|stage|disabled.

  • production: metrics are enabled and production server for input.mozilla is used.
  • stage: metrics are enabled and stage server for input.mozilla is used.
  • disabled: metrics are disabled
This parameter changes the related attributes in config.js. Please note that telemetry is always using the production server and the only way to distinguish production from development data is by the version sent (read from config.js). ``` $ grunt build --metrics=production ``` ##### performanceLog

Configures if performance metrics for set-up time are taken. Possible values are persistent|enabled|disabled.

  • persistent: performance is measured and logs saved in SDCard.
  • enabled: performance is measured and logs shown in logcat.
  • disabled: performance is not measured.
E.g. ``` $ grunt build --performanceLog=disabled ``` #### Special releases and builds

Additionally, a couple of extra tasks have been added to make easier the generation of builds for development or publication purposes:

releaseProduction and buildProduction
$ grunt releaseProduction
$ grunt buildProduction

Releases a build or creates it and pushes it to a device with the following options:

  • --deviceCompatibility=true
  • --debug=false
  • --loopServer=production
  • --performanceLog=disabled
  • --metrics=production
##### releaseDevelopment and buildDevelopment
$ grunt releaseDevelopment
$ grunt buildDevelopment

Releases a build or creates it and pushes it to a device with the following options:

  • --deviceCompatibility=false
  • --debug=true
  • --loopServer=development
  • --performanceLog=persistent
  • --metrics=stage
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].