Skip to content

Latest commit

 

History

History
64 lines (43 loc) · 2.09 KB

DEVELOPMENT.md

File metadata and controls

64 lines (43 loc) · 2.09 KB

Development

To setup my workspace I generally pull down:

There are many more colcon packages, it can be useful to pull them down to look at how different extensions and other functionality is implemented.

Developing on OSX

I run these packages inside of docker containers since I'm running OSX and this only supports Ubuntu currently.

Build Container: docker run -it -v $(pwd):/workspace ros:kinetic-ros-base /bin/bash

Run Container: docker run -it -v $(pwd):/workspace ubuntu:xenial /bin/bash

I generally cd into my workspace which has the package folders and then start the container. This docker command mounts pwd to/workspace. Once in the container I cd /workspace and then execute:

  1. apt-get update
  2. apt-get install -y python3-pip python3-apt
  3. pip3 install --upgrade pip
  4. export PATH=/usr/local/bin/pip3:$PATH
  5. /usr/local/bin/pip3 install --editable ./colcon-bundle
  6. /usr/local/bin/pip3 install --editable ./colcon-ros-bundle

Inside of a ROS1 workspace execute the following:

  1. rosdep install --from-paths src --ignore-src -r -y
  2. colcon build
  3. colcon bundle

Testing

Unit

Prerequisites:

pip install tox
apt-get update && apt-get install enchant

To run tests execute tox -e unittest in the root directory.

Integration

If you have docker installed you can run tests by executing run_integration_test.sh. Take a look at our travis.yml for more insight on what tests run and the environment they run in. Currently we test the following:

PyPI Dependencies:

  • Kinetic - Xenial - Bundle V1 & V2
  • Melodic - Bionic - Bundle V1 & V2

GitHub Master Branch Dependencies:

  • Kinetic - Xenial - Bundle V1 & V2
  • Melodic - Bionic - Bundle V1 & V2

We also have a backwards compatibility test that installs everything from PyPI, executes, and then installs the local version of colcon-bundle to re-bundle.