syncbase 0.0.42

  • README.md
  • Installing
  • Versions
  • 0

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>

Use this package as a library

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

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

We analyzed this package on Jul 20, 2018, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.0.0-dev.69.0
  • pana: 0.11.7

Platforms

Detected platforms: unsure

Error(s) prevent platform classification:

Error(s) in lib/gen/dart-gen/mojom/lib/mojo/syncbase.mojom.dart: The class 'Proxy' doesn't have a constructor named 'fromEndpoint'.

Issues and suggestions

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

Analysis of lib/gen/dart-gen/mojom/lib/mojo/syncbase.mojom.dart failed with 469 errors, 4 hints, including:

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

line 9100 col 7: The class 'Proxy' doesn't have a constructor named 'fromHandle'.

line 9102 col 36: The class 'Proxy' doesn't have a constructor named 'unbound'.

line 9119 col 11: The method 'proxyError' isn't defined for the class '_ExecStreamProxyImpl'.

line 9122 col 23: Undefined name 'completerMap'.

Fix lib/syncbase_client.dart.

Analysis of lib/syncbase_client.dart failed with 1 error, 1 hint:

line 43 col 45: Undefined class 'bindings.ProxyBase'.

line 8 col 28: 'UTF8' is deprecated and shouldn't be used.

Fix platform conflicts.

Error(s) prevent platform classification:

Error(s) in lib/gen/dart-gen/mojom/lib/mojo/syncbase.mojom.dart: The class 'Proxy' doesn't have a constructor named 'fromEndpoint'.

Support Dart 2 in pubspec.yaml.

The SDK constraint in pubspec.yaml doesn't allow the Dart 2.0.0 release. For information about upgrading it to be Dart 2 compatible, please see https://www.dartlang.org/dart-2#migration.

Running dartdoc failed.

Make sure dartdoc runs without any issues.

Maintain CHANGELOG.md.

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

Package is too old.

The package was released more than two years ago.

Fix additional 3 files with analysis or formatting issues.

Additional issues in the following files:

  • lib/src/nosql/row.dart (1 error)
  • lib/src/naming/util.dart (4 hints)
  • lib/src/nosql/rowrange.dart (4 hints)

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 of the 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