Ask Your Question
1

Correct file hierarchy for document generation

asked 2014-04-04 04:16:51 -0600

Tom Moore gravatar image

I'm attempting to go through the process of contributing a package to the ROS community. From what I've gleaned from various tutorials (like this), a common practice is to create a GitHub account, and create a repository named whatever-ros-pkg. Inside that repository, each directory contains a package (or metapackage). Two questions:

  1. The root level of that repository itself does not represent a ROS package or metapackage, correct? Catkin appears to be displeased when you try to make it one, as the naming convention isn't correct (hyphens instead of underscores).
  2. If my assumption in (1) is correct, then what should I put in the distribution.yaml file for a given ROS distro? Would I put this:

    whatever-ros-pkg: doc: type: git url: https://github.com/username/whatever-... version: hydro-devel

...or do I need to add every package within the repository and give them the same Git URL? Will the indexer pick up the repo and its constituent packages as it's currently written?

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
1

answered 2014-04-04 12:06:22 -0600

Dirk Thomas gravatar image

The layout of the packages in a repository is not fixed. You can place a single package into the root of the repo (e.g. https://github.com/ros/genmsg ) or you can put packages under a hierarchy of folders (e.g. https://github.com/ros/ros_comm ).

The folder name / repository does not have to be identical to the containing package name but usually that is a good idea since that is what a user would usually expect.

edit flag offensive delete link more
1

answered 2014-04-04 11:32:35 -0600

paulbovbel gravatar image

Take a look distribution.yaml for the format of an existing multi-package repo (e.g. navigation).

1). Correct, all the packages (including metapackages) should be subdirs.

2) bloom-release should generate the correct pull request for you, you just need to make sure your repo is set up correctly.

doc:
  type: git
  url: https://github.com/ros-planning/navigation.git
  version: hydro-devel
release:
  packages:
  - amcl
  - base_local_planner
  - carrot_planner
  - clear_costmap_recovery
  - costmap_2d
  - dwa_local_planner
  - fake_localization
  - global_planner
  - map_server
  - move_base
  - move_base_msgs
  - move_slow_and_clear
  - nav_core
  - navfn
  - navigation
  - robot_pose_ekf
  - rotate_recovery
  - voxel_grid
  tags:
    release: release/hydro/{package}/{version}
  url: https://github.com/ros-gbp/navigation-release.git
  version: 1.11.6-1
source:
  type: git
  url: https://github.com/ros-planning/navigation.git
  version: hydro-devel
edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2014-04-04 04:16:51 -0600

Seen: 90 times

Last updated: Apr 04 '14