commit | 4226796fc3796c95d9a06f4339180c995bc576a0 | [log] [tgz] |
---|---|---|
author | Adam Sadovsky <asadovsky@gmail.com> | Wed May 04 16:38:07 2016 -0700 |
committer | Adam Sadovsky <asadovsky@gmail.com> | Wed May 04 16:38:07 2016 -0700 |
tree | 63a89655694d35bc3c7f114862ea21e7aab9c98e | |
parent | c0917d886661713b2cb7f86fd3547c5cb975642d [diff] |
syncbase: (mostly) finish implementing cgo bridge Remaining work: - Implement stubbed-out methods in types.go - Implement syncgroup methods - Build a small demo app to make sure everything actually works end-to-end :) MultiPart: 3/3 Change-Id: I2475d9e3196bfa8dfb834182af7bbabf4306622f
This project exposes Syncbase as a Mojo service.
Read the architecture proposal.
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 depot tools.
Install Goma.
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
$ 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.sh # Or, to include Android deps as well: $ cd src && ./build/install-build-deps-android.sh
This updates the Mojo repo to HEAD, and builds the Mojo resources needed to compile Syncbase.
Run this while you grab your morning coffee.
Start by updating the repo.
$ cd $MOJO_DIR/src $ git checkout master $ git pull $ gclient sync
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.
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.
To run Dart apps, you must install the Dart SDK.
Googlers: http://go/install-dart External: https://www.dartlang.org/downloads/
Run the tests:
make test
This will run all tests listed in the tests
file in the root directory of this repo.
The following command will run a single test file. This is useful when the full test suite hangs with no output.
$(MOJO_DIR)/src/mojo/devtools/common/mojo_run -v --enable-multiprocess --shell-path $(MOJO_DIR)/src/out/Debug/mojo_shell test/integration/<filename>