Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding ign_gazebo_dev package #240

Draft
wants to merge 2 commits into
base: foxy
Choose a base branch
from

Conversation

harshmahesheka
Copy link

@harshmahesheka harshmahesheka commented Apr 12, 2022

🎉 New feature

Closes #186

Summary

First,package.xml has <depend condition> which will make the package depend on the required ign-gazebo version based on Ros distribution and other packages can depend on it.Secondly, ignition_gazebo_dev-extras.cmake under cmake find and set required ign gazebo package so, other packages can simply go find_package(ign_gazebo_dev REQUIRED) instead of finding ign-gazebo which will make their packages furthermore compatible with different ROS distros. Currently, I am creating a draft pr for reviews from the community, after that, we can add similar packages for all other ignition libraries.

Checklist

  • Signed all commits for DCO
  • Added tests
  • Added example and/or tutorial
  • Updated documentation (as needed)
  • Updated migration guide (as needed)
  • codecheck passed (See contributing)
  • All tests passed (See test coverage)
  • While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.

Test it

  1. I have created a test_package, you can clone it or replace find_package and dependencies in any of your own packages.
  2. Clone this repository in your workspace and do rosdep check to see dependencies change based on your ros distro.
  3. Build and source this repository and then build your test package. You can see it and find different gazebo versions based on your ros distro.

Signed-off-by: Harsh Mahesheka <[email protected]>
Copy link

@nuclearsandwich nuclearsandwich left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I left some initial feedback and suggestions. I think this is in good shape!

elseif("$ENV{ROS_DISTRO}" MATCHES "humble")
find_package(ignition-gazebo5 REQUIRED)
set(IGN_GAZEBO_VER ${ignition-gazebo6_VERSION_MAJOR})
else()

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is probably worth allowing an override / fallback for unofficial ROS distributions.

Using a CMake variable like OVERRIDE_ROS_GZ_VERSION or similar for override or checking ROS_GZ_VERSION environment variable to fall back to if no known ROS_DISTRO is found.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have added ign fortress as an override version in ignition_gazebo_dev-extras.cmake and package.xml.

@methylDragon
Copy link
Contributor

Heya @harshmahesheka I noticed this was still in draft mode :o, do we want to move forward with this?

@harshmahesheka
Copy link
Author

Heya @harshmahesheka I noticed this was still in draft mode :o, do we want to move forward with this?

Definitely. I was waiting for approval on whether the current iteration is correct. Also, this one is just for ign-gazebo( gz-sim now), so should we create a similar folder for all other libraries in gazebo?

@azeey azeey added beta and removed beta labels Jul 31, 2023
@azeey azeey added beta and removed beta labels Jul 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ROS 2 ROS 2
Projects
Status: In progress
Development

Successfully merging this pull request may close these issues.

5 participants