Only released in EOL distros:
Package Summary
Version of rosdoc for the ROS.org documenation.
- Author: Ken Conley
- License: BSD
- Repository: rosorg
- Source: svn https://code.ros.org/svn/ros/stacks/rosorg/trunk/rosdoc_rosorg
Package Summary
Version of rosdoc for the ROS.org documenation.
- Author: Ken Conley
- License: BSD
- Source: svn https://code.ros.org/svn/ros/stacks/rosorg/trunk
Overview
rosdoc_rosorg is an extension of the rosdoc tool to support generating resources necessary for the ROS.org web site. This includes various indexes used by wiki macros and other tools.
This package is not intended for general use, though people interested in setting up their own indexing infrastructure are welcome to contact the author for help setting this up on their site.
Version-controlled files
Rosdoc_rosorg as well as ros_release depend on several files stored in version control of those projects, some of which are backups of generation results, others are maintained manually.
https://code.ros.org/svn/release/trunk
- distros/*.rosdistro:
manually maintained
- is read by:
- rospkg.distro.distro_uri()
- ros_release/job_generation... (several references)
- ros_release/rosdistro/src/rosdistro.py
- distros/*.excludes
manually maintained
- is read by:
- ros_release/release/scripts/is_excluded
- ros_release/rosdeb/scripts/list_missing
- release_resources/rosinstalls
manually maintained
no reference found, seems cturtle was last time it was used
- release_resources/repos
manually maintained
no reference found, seems cturtle was last time it was used
- distros/*.rosdistro:
- rosdoc_rosorg
- rosdoc_rosorg/repos.list
- list of repo groups (all, electric, unstable?)
manually maintained
- rosdoc_rosorg/repos.fuerte.list
- list of all known repo groups for fuerte
manually maintained
- rosdoc_rosorg/repos/*.rosinstall
- referenced by repos.[*]list
- define sets of SCM repositories
manually maintained
- rosdoc_rosorg/index/repos-*.rosinstall
manually maintained
- rosinstall file as to create a workspace against apt-get installed distros
- rosdoc_rosorg/index/distro-*.yaml
redundant, only restructures data
generated solely from release/distros/*.rosdistro using create_distro_index.py
- used for rosdoc_rosorg --distro-index
- rosdoc_rosorg/repos.list
Generated files not under version control
- repos.rosinstall
generated from repos.list and therein referenced repos/*.rosinstall
- is a single huge rosinstall file as the sum of all that went into it
- created using generate_index.py
- used by rosdoc_rosorg --repos
generated by rosdoc_rosorg --rosbrowse, all used by rosbrowse, from distro*.yaml (I guess always the latest & greatest?)
Graphical overview of scripts and data files. Simple rectangles represent data files. When given with path, those are under version control. Other shapes are (python) scripts. scripts consume files and produce files. --options show how to pass an input to a script, or what option is required to produce output.
scripts
create_distro_index.py
Usage: create_distro_index.py <distro> <filename>
Writes into <filename> a yaml dict:
{'repos': safe_repo_index, 'stacks': stack_index, 'distro_name': distro_name}
based on rospkg.distro.load_distro(), which in turn reads files from code.ros.org/svn/release..../<distro>.rosdistro
The transformation does not add any information, it just applies rules to generate uris. So this generated all the .yaml files that were placed into rosorg_rosdoc/index.
generate_index.py
usage: generate_index.py [options] <output-file>
writes into rosinstall <out-file> (default repos.rosinstall), based on rospkg.distro and https://code.ros.org/svn/ros/stacks/rosorg/trunk/rosdoc_rosorg/repos.list
Source file contains lists of pairs (uri: foo, name: bar.rosinstall) where each bar.rosinstall lists repositories from which to check out sources.
rosdoc_rosorg
Usage: rosdoc_rosorg --repos=<filename> [options] [packages...]
Options: -h, --help show this help message and exit -n NAME, --name=NAME Name for documentation set -q, --quiet Suppress some errors --paths=PATHS package paths to document -o OUTPUT_DIRECTORY directory to write documentation to --upload=RSYNC_TARGET rsync target argument --repos=ROSBROWSE_REPOS_FILE rosinstall file with repos list for determining repository names/roots --distro-index=DISTRO_INDEX_FILE distro index for determining repository contents for binary installs --checkout=CHECKOUT_DIR path to checkout directory for repos file --test run in test mode --rosbrowse run rosbrowse indexer instead
--repos is a required option, it takes a rosinstall-like file with additional "meta" tags to declare membership of an SCM repository to a larger "repo" (e.g. all lab-wide stacks).
--distro-index is an optional file (e.g. rosdoc_rosorg/distro-*.yaml) :
distro_name: foo repos: repo-name: [stackname1, stackname2] stacks: stackname1: {version: ver1, repo: repo1, rules: {git: &id001 {uri: foo, dev-branch: bar, distro-tag: dist1, release-tag: rtag1} } } stackname2: {version: ver1, repo: repo1, rules: {git: *id001 } }
Which contains redundant structural data (repo <-> stack). Also it contains yaml references (*0001 points to &0001) The code is parsed by core.py, where the Repo class represents one stack (not Repo), and a repo is represented as an aggregate name of a stack.
--checkout allows to pass a location where stacks have been checked out locally, instead of being apt-get installed released stacks.
--rosbrowse is a switch.
If it is off, the script will use rosdoc to generate API docs for all stacks and packages discovered using roslib.rospack, and also create for each repo listed in the file given in --repos option (and distro-index option), manifest.yaml, stack.yaml and repo.yaml for each repo discovered by parsing the given files.
If --rosbrowse is given, instead of the repo.yaml, stack.yaml and manifest.yaml, the megamanifest and megastack are generated as megamanifest.xml, megamanifest.yaml and megastack.yaml. Those can be uploaded to:
The --rosbrowse option generating mega* files ignores the list of packages given as arguments, those only affect doc generation.
Basically the --rosbrowse switch should be a separate command / script.
Other rosdoc_rosorg options relate to the original rosdoc script.
install_distro_index
usage: install_distro_index.py <filename>
calls sudo apt-get install with each stackname mentioned in the YAML file dict 'stacks'.