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鈥檒l 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 <harsh.mahesheka.eee20@iitbhu.ac.in>
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.

@chapulina chapulina added this to Inbox in Core development via automation May 23, 2022
@chapulina chapulina moved this from Inbox to In progress in Core development May 23, 2022
Signed-off-by: Harsh Mahesheka <harsh.mahesheka.eee20@iitbhu.ac.in>
@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
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
Core development
In progress
Development

Successfully merging this pull request may close these issues.

None yet

5 participants