commit | 97877115f8232982f7cd5d283454573df94f7065 | [log] [tgz] |
---|---|---|
author | Nicolas Lacasse <nlacasse@google.com> | Tue Aug 04 11:17:14 2015 -0700 |
committer | Nicolas Lacasse <nlacasse@google.com> | Tue Aug 04 11:17:14 2015 -0700 |
tree | e60c7111d9f54a819267d7d0dbec93952fbd6ffd | |
parent | 77ad72c564919ea9b2ccf26e92c8cae8b898afde [diff] |
Start of actual Syncbase client library. Dart has restrictions on where imports for a library package can come from. I had to move the generated dart mojom bindings inside the dart/lib directory to make it happy. I got rid of the dart/bin scripts, since they don't make sense for this repo, and were redundant with the tests in dart/test. Currently we have two libraries: echo_client and syncbase_client. I did some refactoring to pull out the common parts of the two. Once we get rid of echo_client, things will get simpler again. The only syncbase method I actually implemented is "appExists", and I wrote a tests that "appExist(foo) == false". This test is currently commented out (see "tests" file) because we don't have syncbase running in a mojo service quite yet. Change-Id: I3b5d04325c2b514b9e55140901094000202fa348
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 Ether.
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 $(MOJO_FLAGS) -v --shell-path $(MOJO_DIR)/src/out/Debug/mojo_shell dart/test/<filename>