| Overview | |
| -------- | |
| libWeave is the library with device side implementation of Weave | |
| protocol. | |
| Sources | |
| ------- | |
| Sources are located in git repository at | |
| https://weave.googlesource.com/weave/libweave/ | |
| Install Repo | |
| ------- | |
| 1. Make sure you have a bin/ directory in your home directory | |
| and that it is included in your path: | |
| mkdir ~/bin | |
| PATH=~/bin:$PATH | |
| 2. 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 | |
| Checkout code | |
| ------- | |
| repo init -u https://weave.googlesource.com/weave/manifest | |
| repo sync | |
| Directory structure | |
| ------------------- | |
| 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 | |
| Quick start on Debian/Ubuntu | |
| ---------------------------- | |
| 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 | |
| Prerequisites | |
| ------------- | |
| 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 | |
| Compiling | |
| --------- | |
| 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 | |
| Testing | |
| ------- | |
| Run unittests tests: | |
| out/Debug/libweave_testrunner | |
| out/Debug/libweave_exports_testrunner | |
| Making changes | |
| -------------- | |
| 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 <branch name> . | |
| 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. |