Skip to content

Commit

Permalink
Support ros_ign migration and implement shims
Browse files Browse the repository at this point in the history
Clean up shared libraries, and tick-tock RosGzPointCloud
Tick-tock launch args
Hard-tock ign_ in sources
Migrate ign, ign_, IGN_ for sources, launch, and test files
Migrate IGN_XXX_VER, IGN_T, header guards
Migrate launchfile, launchfile args, and test source references
Migrate ros_ign_XXX and gz_gazebo -> gz_sim
Migrate ros_ign_XXX project names
Migrate Ign, ign-, IGN_DEPS, ign-gazebo
Migrate ignitionrobotics, ignitionrobotics/ros_ign, osrf/ros_ign
Migrate ignition-version, IGNITION_VERSION, Ignition <LIB>, ros_ign_ci

Signed-off-by: methylDragon <[email protected]>
  • Loading branch information
methylDragon committed Jul 25, 2022
1 parent 3a03f6d commit 9a6c880
Show file tree
Hide file tree
Showing 207 changed files with 6,681 additions and 2,690 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/build-and-test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@ apt update -qq
apt install -qq -y lsb-release wget curl build-essential

# Garden only has nightlies for now
if [ "$IGNITION_VERSION" == "garden" ]; then
if [ "$GZ_VERSION" == "garden" ]; then
echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list
echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-nightly `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-nightly.list
wget https://packages.osrfoundation.org/gazebo.key -O - | apt-key add -

IGN_DEPS="libgz-sim7-dev"
GZ_DEPS="libgz-sim7-dev"
fi

# Fortress comes through rosdep for Focal and Jammy
Expand All @@ -25,7 +25,7 @@ fi
echo "deb http://packages.ros.org/ros2-testing/ubuntu `lsb_release -cs` main" > /etc/apt/sources.list.d/ros2-testing.list
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | apt-key add -
apt-get update -qq
apt-get install -y $IGN_DEPS \
apt-get install -y $GZ_DEPS \
python3-colcon-common-extensions \
python3-rosdep

Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/ros2-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,21 @@ name: ROS2 CI
on: [push, pull_request]

jobs:
ros_ign_ci:
name: ros_ign CI
ros_gz_ci:
name: ros_gz CI
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- docker-image: "ubuntu:22.04"
ignition-version: "fortress"
gz-version: "fortress"
ros-distro: "humble"
- docker-image: "ubuntu:22.04"
ignition-version: "fortress"
gz-version: "fortress"
ros-distro: "rolling"
- docker-image: "ubuntu:22.04"
ignition-version: "garden"
gz-version: "garden"
ros-distro: "rolling"
container:
image: ${{ matrix.docker-image }}
Expand All @@ -28,5 +28,5 @@ jobs:
run: .github/workflows/build-and-test.sh
env:
DOCKER_IMAGE: ${{ matrix.docker-image }}
IGNITION_VERSION: ${{ matrix.ignition-version }}
GZ_VERSION: ${{ matrix.gz-version }}
ROS_DISTRO: ${{ matrix.ros-distro }}
20 changes: 10 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,24 +25,24 @@ Rolling | Garden (not released) | [ros2](https://github.com/gazebosim/ros_gz/tre
This repository holds packages that provide integration between
[ROS](http://www.ros.org/) and [Gazebo](https://gazebosim.org):

* [ros_ign](https://github.com/gazebosim/ros_gz/tree/ros2/ros_ign):
* [ros_gz](https://github.com/gazebosim/ros_gz/tree/ros2/ros_gz):
Metapackage which provides all the other packages.
* [ros_ign_image](https://github.com/gazebosim/ros_gz/tree/ros2/ros_ign_image):
* [ros_gz_image](https://github.com/gazebosim/ros_gz/tree/ros2/ros_gz_image):
Unidirectional transport bridge for images from
[Gazebo Transport](https://gazebosim.org/libs/transport)
to ROS using
[image_transport](http://wiki.ros.org/image_transport).
* [ros_ign_bridge](https://github.com/gazebosim/ros_gz/tree/ros2/ros_ign_bridge):
* [ros_gz_bridge](https://github.com/gazebosim/ros_gz/tree/ros2/ros_gz_bridge):
Bidirectional transport bridge between
[Gazebo Transport](https://gazebosim.org/libs/transport)
and ROS.
* [ros_ign_gazebo](https://github.com/gazebosim/ros_gz/tree/ros2/ros_ign_gazebo):
* [ros_gz_sim](https://github.com/gazebosim/ros_gz/tree/ros2/ros_gz_sim):
Convenient launch files and executables for using
[Gazebo Sim](https://gazebosim.org/libs/gazebo)
with ROS.
* [ros_ign_gazebo_demos](https://github.com/gazebosim/ros_gz/tree/ros2/ros_ign_gazebo_demos):
* [ros_gz_sim_demos](https://github.com/gazebosim/ros_gz/tree/ros2/ros_gz_sim_demos):
Demos using the ROS-Gazebo integration.
* [ros_ign_point_cloud](https://github.com/gazebosim/ros_gz/tree/ros2/ros_ign_point_cloud):
* [ros_gz_point_cloud](https://github.com/gazebosim/ros_gz/tree/ros2/ros_gz_point_cloud):
Plugins for publishing point clouds to ROS from
[Gazebo Sim](https://gazebosim.org/libs/gazebo) simulations.

Expand All @@ -61,7 +61,7 @@ They are hosted at https://packages.ros.org.
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
sudo apt-get update

1. Install `ros_ign`
1. Install `ros_gz`

sudo apt install ros-rolling-ros-ign

Expand All @@ -77,14 +77,14 @@ Be sure you've installed

Install either [Edifice, Fortress, or Garden](https://gazebosim.org/docs).

Set the `IGNITION_VERSION` environment variable to the Gazebo version you'd
Set the `GZ_VERSION` environment variable to the Gazebo version you'd
like to compile against. For example:

export IGNITION_VERSION=edifice
export GZ_VERSION=edifice

> You only need to set this variable when compiling, not when running.
#### Compile ros_ign
#### Compile ros_gz

The following steps are for Linux and OSX.

Expand Down
24 changes: 12 additions & 12 deletions RELEASING.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Release a new version of ros_ign
# Release a new version of ros_gz

Different branches of this repository support different combinations of
ROS 1, ROS 2 and Ignition. Refer to the [README](README.md) to see what
ROS 1, ROS 2 and Gazebo. Refer to the [README](README.md) to see what
combinations are supported.

We use 2 separate approaches for releasing ROS-enabled binaries:
Expand All @@ -12,9 +12,9 @@ We use 2 separate approaches for releasing ROS-enabled binaries:
for ROS users.

Releasing into ROS packages is ideal, but that's only possible if the necessary
Ignition libraries are available either through official Ubuntu packages, or
Gazebo libraries are available either through official Ubuntu packages, or
directly from https://packages.ros.org. This situation varies according to the
Ignition version:
Gazebo version:

* Citadel is available from:
* https://packages.osrfoundation.org: all Ubuntu versions
Expand All @@ -24,22 +24,22 @@ Ignition version:
* https://packages.osrfoundation.org: all Ubuntu versions
* https://packages.ros.org: only Ubuntu Focal, once ROS 2 Galactic is out

Another factor to take into consideration is which Ignition version is officially
Another factor to take into consideration is which Gazebo version is officially
supported for each ROS distro according to the following REPS:

* ROS 1: [REP-0003](https://ros.org/reps/rep-0003.html)
* ROS 2: [REP-2000](https://www.ros.org/reps/rep-2000.html)

These factors determine which ROS + Ignition combinations are released into each
These factors determine which ROS + Gazebo combinations are released into each
repository.

## Versioning

All `ros_ign` packages are under fast development and haven't reached version
All `ros_gz` packages are under fast development and haven't reached version
1.0 yet. The team will make an effort to keep changes backwards compatible
within a ROS distribution, but API / ABI / behaviour may be broken if necessary.

The versioning scheme uses the minor version to identify ROS and Ignition
The versioning scheme uses the minor version to identify ROS and Gazebo
versions:

* 1st digit:
Expand All @@ -61,7 +61,7 @@ versions:
* Fortress: 4
* Garden: 5

ROS | Ignition | Version
ROS | Gazebo | Version
-- | -- | --
Melodic | Blueprint | 0.100.X
Melodic | Citadel | 0.101.X
Expand Down Expand Up @@ -90,15 +90,15 @@ Foxy | Edifice | 0.223.X
* `catkin_generate_changelog`
* `catkin_prepare_release`

1. Install `rosdep` for Ignition packages and run rosdep update
1. Install `rosdep` for Gazebo packages and run rosdep update
```
sudo bash -c 'echo "yaml https://github.com/osrf/osrf-rosdep/raw/master/ignition/ignition.yaml" >> /etc/ros/rosdep/sources.list.d/00-ignition.list'
rosdep update
```

1. Bloom it into a custom repository
```
BLOOM_RELEASE_REPO_BASE=https://github.com/osrf/ bloom-release --no-pull-request --rosdistro melodic --track melodic ros_ign
BLOOM_RELEASE_REPO_BASE=https://github.com/osrf/ bloom-release --no-pull-request --rosdistro melodic --track melodic ros_gz
```

Will fail fedora: ignore and continue:
Expand All @@ -110,5 +110,5 @@ Foxy | Edifice | 0.223.X
1. Use [release-tools](https://bitbucket.org/osrf/release-tools)'s script to launch jenkins jobs:
```
cd release-tools/bloom
./ros_ign_bridge-release.py.bash 0.8.0 https://github.com/osrf/ros_ign-release <ros_distro> <token> --ignition-version <version_name>
./ros_gz_bridge-release.py.bash 0.8.0 https://github.com/gazebosim/ros_ign-release <ros_distro> <token> --gz-version <version_name>
```
16 changes: 8 additions & 8 deletions ros_gz/CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Changelog for package ros_ign
Changelog for package ros_gz
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

0.244.3 (2022-05-19)
--------------------
* [ros2] README updates (service bridge, Gazebo rename) (`#252 <https://github.com/osrf/ros_ign/issues/252>`_)
* [ros2] README updates (service bridge, Gazebo rename) (`#252 <https://github.com/gazebosim/ros_gz/issues/252>`_)
* Contributors: Louise Poubel

0.244.2 (2022-04-25)
Expand All @@ -29,10 +29,10 @@ Changelog for package ros_ign

0.221.0 (2020-07-23)
--------------------
* Added ros_ign_gazebo to ros_ign package.xml (`#81 <https://github.com/osrf/ros_ign/issues/81>`_)
* Update Dashing docs (`#62 <https://github.com/osrf/ros_ign/issues/62>`_)
* Port ign_ros_gazebo_demos to ROS2 (`#58 <https://github.com/osrf/ros_ign/issues/58>`_)
* Enable ROS2 CI for Dashing branch (`#43 <https://github.com/osrf/ros_ign/issues/43>`_)
* Added ros_gz_sim to ros_gz package.xml (`#81 <https://github.com/gazebosim/ros_gz/issues/81>`_)
* Update Dashing docs (`#62 <https://github.com/gazebosim/ros_gz/issues/62>`_)
* Port ign_ros_gazebo_demos to ROS2 (`#58 <https://github.com/gazebosim/ros_gz/issues/58>`_)
* Enable ROS2 CI for Dashing branch (`#43 <https://github.com/gazebosim/ros_gz/issues/43>`_)
* Rename packages and fix compilation + tests
* Move files ros1 -> ros
* Contributors: Alejandro Hernández Cordero, Jose Luis Rivero, Louise Poubel, chapulina
Expand All @@ -49,8 +49,8 @@ Changelog for package ros_ign
0.6.1 (2019-08-04)
------------------
* Merge pull request `#35 <https://github.com/osrf/ros1_ign_bridge/issues/35>`_ from osrf/image_meta
Add ros_ign_image to metapackage
* Add ros_ign_image to metapackage
Add ros_gz_image to metapackage
* Add ros_gz_image to metapackage
Signed-off-by: chapulina <[email protected]>
typo
Signed-off-by: chapulina <[email protected]>
Expand Down
2 changes: 1 addition & 1 deletion ros_gz/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.5)
project(ros_ign)
project(ros_gz)
find_package(ament_cmake REQUIRED)

if(BUILD_TESTING)
Expand Down
2 changes: 1 addition & 1 deletion ros_gz/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ROS-Gazebo packages

`ros_ign` is a metapackage that installs all packages integrating
`ros_gz` is a metapackage that installs all packages integrating
[ROS](http://www.ros.org/) and [Gazebo](https://gazebosim.org):
6 changes: 3 additions & 3 deletions ros_gz/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
<package format="2">
<!-- TODO: Make this a metapackage, see
https://github.com/ros2/ros2/issues/408 -->
<name>ros_ign</name>
<name>ros_gz</name>
<version>0.244.3</version>
<description>Meta-package containing interfaces for using ROS 2 with <a href="https://ignitionrobotics.org">Ignition</a> simulation.</description>
<description>Meta-package containing interfaces for using ROS 2 with <a href="https://gazebosim.org">Gazebo</a> simulation.</description>
<maintainer email="[email protected]">Louise Poubel</maintainer>
<license>Apache 2.0</license>

Expand All @@ -15,7 +15,7 @@
<exec_depend>ros_ign_gazebo</exec_depend>
<exec_depend>ros_ign_gazebo_demos</exec_depend>
<exec_depend>ros_ign_image</exec_depend>
<!-- See https://github.com/osrf/ros_ign/issues/40 -->
<!-- See https://github.com/gazebosim/ros_gz/issues/40 -->
<!--exec_depend>ros_ign_point_cloud</exec_depend-->

<test_depend>ament_lint_auto</test_depend>
Expand Down
Loading

0 comments on commit 9a6c880

Please sign in to comment.