syncbase 0.0.42

  • README.md
  • Installing
  • Versions
  • 5

Syncbase

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.sh

# Or, to include Android deps as well:
$ 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 Syncbase.

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.
    

Install Dart SDK

To run Dart apps, you must install the Dart SDK.

Googlers: http://go/install-dart External: https://www.dartlang.org/downloads/

Testing

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>

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  syncbase: "^0.0.42"

2. Install it

You can install packages from the command line:

with pub:


$ pub get

Alternatively, your editor might support pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:syncbase/initialized_application.dart';

import 'package:syncbase/syncbase_client.dart';
        
Version Uploaded Documentation Archive
0.0.42 May 12, 2016 Go to the documentation of syncbase 0.0.42 Download syncbase 0.0.42 archive
0.0.41 May 10, 2016 Go to the documentation of syncbase 0.0.41 Download syncbase 0.0.41 archive
0.0.40 Apr 27, 2016 Go to the documentation of syncbase 0.0.40 Download syncbase 0.0.40 archive
0.0.39 Apr 27, 2016 Go to the documentation of syncbase 0.0.39 Download syncbase 0.0.39 archive
0.0.38 Apr 20, 2016 Go to the documentation of syncbase 0.0.38 Download syncbase 0.0.38 archive
0.0.37 Apr 6, 2016 Go to the documentation of syncbase 0.0.37 Download syncbase 0.0.37 archive
0.0.36 Apr 4, 2016 Go to the documentation of syncbase 0.0.36 Download syncbase 0.0.36 archive
0.0.35 Mar 31, 2016 Go to the documentation of syncbase 0.0.35 Download syncbase 0.0.35 archive
0.0.34 Mar 23, 2016 Go to the documentation of syncbase 0.0.34 Download syncbase 0.0.34 archive
0.0.33 Mar 21, 2016 Go to the documentation of syncbase 0.0.33 Download syncbase 0.0.33 archive

All 42 versions...

Analysis

This feature is new.
We welcome feedback.
More details: scoring.

We analyzed this package, and provided a score, details, and suggestions below.

  • tool failures on Feb 16, 2018
  • Dart: 2.0.0-dev.20.0
  • pana: 0.10.1

Scores

Popularity:
Describes how popular the package is relative to other packages. [more]
0 / 100
Health:
Code health derived from static analysis. [more]
7 / 100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
13 / 100
Overall score:
Weighted score of the above. [more]
5

Platforms

Detected platforms: unsure

Error(s) prevent platform classification.

Suggestions

  • Fix lib/gen/dart-gen/mojom/lib/mojo/syncbase.mojom.dart.

    Strong-mode analysis of lib/gen/dart-gen/mojom/lib/mojo/syncbase.mojom.dart failed with the following error:

    line: 9097 col: 48
    The class 'Proxy' doesn't have a constructor named 'fromEndpoint'.

  • Fix lib/src/nosql/row.dart.

    Strong-mode analysis of lib/src/nosql/row.dart failed with the following error:

    line: 11 col: 9
    super call must be last in an initializer list (see https://goo.gl/EY6hDP): 'super._internal(_ctx, _parentFullName, key, naming.join(_parentFullName, escape(key)))'.

  • Fix further 1 Dart files.

    Similar analysis of the following files failed:

    • lib/syncbase_client.dart
  • Fix platform conflicts.

    Make sure none of the libraries use mutually exclusive dependendencies.

  • Maintain CHANGELOG.md.

    Changelog entries help clients to follow the progress in your code.

  • Fix issues reported by dartanalyzer.

    dartanalyzer reported 3 error(s) and 0 warning(s).

  • Package is pre-v1 release.

    While there is nothing inherently wrong with versions of 0.*.*, it usually means that the author is still experimenting with the general direction API.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=1.12.0 <2.0.0
mojo_sdk ^0.2.22 0.2.32
Transitive dependencies
mojo 0.4.28
mojo_services 0.4.35
Dev dependencies
dart_style any
test any