Build and run the echo client/server using our Makefile functions.

Android support is temporarily disabled, since we can't easily serve the
.mojo files to both Linux and Android without the --map-origin flag,
which is currently not supported on Linux.

Also put all of gen/ directory in .gitignore.

Change-Id: Ia7a1ddffc2658dc97f8276b23ee08a0f647be47f
13 files changed
tree: ee6755c2ec45319566b8ff4f05b392f0b8e95b09
  1. go/
  2. mojom/
  3. .gitignore
  4. Makefile
  5. README.md
README.md

Ether

This project exposes Syncbase as a Mojo service.

Read the architecture proposal.

Initial Mojo setup

You must have the Mojo repo in $MOJO_DIR.

This section only needs to be run once.

See the mojo readme for more comprehensive instructions.

Install Mojo prereqs

  1. Install depot tools.

  2. Install Goma.

  3. Put the following in your .bashrc:

    NOTE: Actual locations depend on where you installed depot_tools and goma.

    export PATH=${PATH}:${HOME}/dev/depot_tools export GOMA_DIR=${HOME}/goma

    export MOJO_DIR=${HOME}/mojo

Download Mojo repo

$ mkdir $MOJO_DIR && cd $MOJO_DIR

# NOTE: This step takes about 10 min.
$ fetch mojo --target_os=android,linux

# NOTE: This step also takes about 10 min.  Furthermore, the script uses
# 'sudo', so you will need to enter your password.
$ cd src && ./build/install-build-deps-android.sh

Update Mojo and compile resources

This updates the Mojo repo to HEAD, and builds the Mojo resources needed to compile Ether.

Run this while you grab your morning coffee.

  1. Start by updating the repo.

    $ cd $MOJO_DIR/src $ git checkout master $ git pull $ gclient sync

  2. Compile for Linux. Built resources will be in $MOJO_DIR/src/out/Debug

    $ ./mojo/tools/mojob.py gn $ ./mojo/tools/mojob.py build # NOTE: This can take up to 10 minutes.

  3. Compile for Android. Built resources will be in $MOJO_DIR/src/out/android_Debug

    $ ./mojo/tools/mojob.py gn --android $ ./mojo/tools/mojob.py build --android # NOTE: This can take up to 10 minutes.