libWeave is the library with device side implementation of Weave protocol.
Sources are located in git repository at https://weave.googlesource.com/weave/libweave/
Make sure you have a bin/ directory in your home directory and that it is included in your path:
mkdir /bin PATH=/bin:$PATH
Download the Repo tool and ensure that it is executable:
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo chmod a+x ~/bin/repo
repo init -u https://weave.googlesource.com/weave/manifest repo sync
Includes to be used by device code: include/
Implementation sources: src/
Example of device code: examples/
Dependencies: third_party/
Build files: libweave_standalone.gyp libweave_common.gypi
Install prerequisites:
examples/prerequisites.sh
Build library, tests, run tests, build example:
examples/build.sh
Execute example (check examples/daemon/README for details):
sudo out/Debug/weave_daemon
Common:
autoconf automake binutils libtool gyp libexpat1-dev
For tests:
gtest gmock
For examples:
hostapd libavahi-client-dev libcurl4-openssl-dev libevent 2.1.x-alpha
Everywhere below Debug can be replaced with Release.
Generate build files:
gyp -I libweave_common.gypi --toplevel-dir=. --depth=.
-f make libweave_standalone.gyp
Build library with tests:
make
Build library only:
make libweave
Run unittests tests:
out/Debug/libweave_testrunner out/Debug/libweave_exports_testrunner
Make sure to have correct user in local or global config e.g.:
git config --local user.name “John Doe” git config --local user.email johndoe@example.com
Start local branch
repo start .
Edit code and commit locally e.g.:
git commit -a -v
Upload CL:
repo upload .
Go to the url from the output of “repo upload” and add reviewers.