Protobuf messages and functions for robot applications.
Ignition Messages is a component in the ignition framework, a set of libraries designed to rapidly develop robot applications.
Test coverage:
Install required dependencies as follows:
sudo apt-get install libprotobuf-dev protobuf-compiler libprotoc-dev libignition-math6-dev
Standard installation can be performed in UNIX systems using the following steps:
mkdir build/
cd build/
cmake ..
sudo make install
To uninstall the software installed with the previous steps:
cd build/
sudo make uninstall
Run tests as follows:
make test
Tests are automatically built. To disable them, run cmake
as follows:
cmake .. -DENABLE_TESTS_COMPILATION=false
To run test coverage:
-
Install LCOV
sudo apt-get install lcov
-
Build with coverage
cd build/ cmake .. -DCMAKE_BUILD_TYPE=coverage make
-
Run tests
make test
-
Generate coverage
make coverage
-
View results
firefox coverage/index.html
- Build documentation
cd build
make doc
- Upload documentation to ignitionrobotics.org.
cd build
sh upload.sh
- If you're creating a new release, then tell ignitionrobotics.org about the new version. For example:
curl -k -X POST -d '{"libName":"msgs", "version":"1.0.0", "releaseDate":"2017-10-09T12:10:13+02:00","password":"secret"}' https://api.ignitionrobotics.org/1.0/versions
In the event that the installation is a mix of Debian and from source, command
line tools from ign-tools
may not work correctly.
A workaround for a single package is to define the environment variable
IGN_CONFIG_PATH
to point to the location of the Ignition library installation,
where the YAML file for the package is found, such as
export IGN_CONFIG_PATH=/usr/local/share/ignition
However, that environment variable only takes a single path, which means if the installations from source are in different locations, only one can be specified.
Another workaround for working with multiple Ignition libraries on the command line is using symbolic links to each library's YAML file.
mkdir ~/.ignition/tools/configs -p
cd ~/.ignition/tools/configs/
ln -s /usr/local/share/ignition/fuel5.yaml .
ln -s /usr/local/share/ignition/transport9.yaml .
ln -s /usr/local/share/ignition/transportlog9.yaml .
...
export IGN_CONFIG_PATH=$HOME/.ignition/tools/configs
This issue is tracked here.