Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
shell aliases and commands to help Gaia/B2G (Firefox OS) development - specially for the "productivity" apps
# based on
# =============================================================================
export FIREFOX="/Applications/"
export GAIA_DIR="/Users/millermedeiros/Projects/gaia"
alias firefox="$FIREFOX"
alias b2g-bin="$GAIA_DIR/b2g/Contents/MacOS/b2g-bin"
alias b2g="b2g-bin"
# profile path should use full path (no tailing "/")
# ---
# IMPORTAT! you need to run `DEBUG=1 make` before running most commands since
# they require the $GAIA_PROFILE_DEBUG
gaia() {
if [ -z "$1" ]; then
firefox -no-remote -profile $GAIA_PROFILE_DEBUG
firefox -no-remote -profile $GAIA_PROFILE_DEBUG "http://${1}"
# apps doesn't work the same way when outside system app, but it can be useful
# when you need to access the console quickly
alias gaia-cal="gaia calendar"
alias gaia-clock="gaia clock"
alias gaia-mail="gaia email"
gaia-install-app() {
DEBUG=0 APP=$1 make && BUILD_APP_NAME=$1 make install-gaia
alias gaia-install-cal="gaia-install-app calendar"
alias gaia-install-mail="gaia-install-app email"
alias gaia-install-clock="gaia-install-app clock"
gaia-test() {
# if port 8789 is used it means server is already running
nc -z -w5 8789
if [ "$?" = "1" ]; then
make test-agent-server &
firefox -no-remote -marionette -profile $GAIA_PROFILE_DEBUG > /dev/null 2>&1
gaia-marionette() {
TEST_FILES=$1 "$GAIA_DIR/bin/gaia-marionette" --reporter spec
gaia-b2g() {
# b2g-bin doesn't work well with DEBUG flag
b2g-bin -profile $GAIA_PROFILE
adb-console() {
# looooooongcat :P
adb shell logcat | grep GeckoConsole
adb-screen() {
adb shell screencap -p /sdcard/screenshot.png && \
adb pull /sdcard/screenshot.png ~/Desktop/devicescreenshot.png && \
open ~/Desktop/devicescreenshot.png
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment