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

Update rosdep help and logging for ROS 2. #921

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

cdhabecker
Copy link

@cdhabecker cdhabecker commented May 10, 2023

[Problem]

  • Git staging is cluttered with build files in install/ and log/.
  • Argument <stacks-and-packages> (which relies on stack.xml and manifest.xml) does not make sense for ROS 2.
  • Help text for --ignore-src is unclear whether it ignores the input pkgs or the dependency pkgs or both.
  • The --verbose output does not show all the packages that rosdep thinks are installed (or available in the workspace).
  • The --verbose output prints some lines out of order.
  • The --verbose output prints dupes of keys, e.g., "resolve_all: rsource [pkg3] requires rosdep keys [pkg1 pkg1 pkg1]", followed by 3 identical lines describing the action.

[Solution]

  • Modified .gitignore. Verified that the repo does not currently have any files in install/ or log/.
  • Modified command usage. Split the check, install, and key commands into variants "ROS 1 or 2" and "ROS 1".
  • Modified help text for --ignore-src. Added "--ignore-src:" marker to verbose log lines.
  • Added verbose logging for --ignore-src that displays the packages that rosdep finds at AMENT_PREFIX_PATH_ENV_VAR. (The first part of --ignore-src, where it finds ROS_PACKAGE_PATH packages, already has verbose logging via find_catkin_packages_in().)
  • Updated verbose logging in find_catkin_packages_in() so that it is on stdout and, therefore, prints in order with the other stdout lines.
  • Updated resolve_all() to make the list of rosdep_keys unique.

[Test]

[Problem]
- Git staging is cluttered with build files in install/ and log/.
- Argument <stacks-and-packages> (which relies on stack.xml and
  manifest.xml) does not make sense for ROS 2.
- Help text for --ignore-src is unclear whether it ignores the input pkgs
  or the dependency pkgs or both.
- The --verbose output does not show all the packages that rosdep thinks
  are installed (or available in the workspace).
- The --verbose output prints some lines out of order.
- The --verbose output prints dupes of keys, e.g.,
  "resolve_all: rsource [pkg3] requires rosdep keys [pkg1 pkg1 pkg1]",
  followed by 3 identical lines describing the action.

[Solution]
- Modified .gitignore. Verified that the repo does not currently have
  any files in install/ or log/.
- Modified command usage. Split the check, install, and key commands into
  variants "ROS 1 or 2" and "ROS 1".
- Modified help text for --ignore-src. Added "--ignore-src:" marker to
  verbose log lines.
- Added verbose logging for --ignore-src that displays the packages that
  rosdep finds at AMENT_PREFIX_PATH_ENV_VAR. (The first part of --ignore-src,
  where it finds ROS_PACKAGE_PATH packages, already has verbose logging via
  find_catkin_packages_in().)
- Updated verbose logging in find_catkin_packages_in() so that it is on
  stdout and, therefore, prints in order with the other stdout lines.
- Updated resolve_all() to make the list of rosdep_keys unique.

[Test]
- Manual, local test on jammy-amd64.
@cdhabecker
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant