Skip to content

Update rosdep help and logging for ROS 2.#921

Open
cdhabecker wants to merge 1 commit intoros-infrastructure:masterfrom
cdhabecker:cdhabecker-help-text
Open

Update rosdep help and logging for ROS 2.#921
cdhabecker wants to merge 1 commit intoros-infrastructure:masterfrom
cdhabecker:cdhabecker-help-text

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