Skip to content

Commit 444f2df

Browse files
Update to formatting of package manifest REPs (#26)
* Update formatting of REP-0127 Signed-off-by: SuperJappie08 <[email protected]> * Update formatting of REP-0140 Signed-off-by: SuperJappie08 <[email protected]> * Update formatting of REP-0149 This is a mostly direct port of the style resulting from the original source. It does not have work well with dark mode. Signed-off-by: SuperJappie08 <[email protected]> --------- Signed-off-by: SuperJappie08 <[email protected]>
1 parent 6bffefe commit 444f2df

3 files changed

Lines changed: 397 additions & 344 deletions

File tree

_posts/rep-0127.md

Lines changed: 81 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -128,11 +128,11 @@ All other tags are nested under it.
128128

129129
The required tags in a `package.xml` file provide package meta-data:
130130

131-
> - [\\\<name\\\>]()
132-
> - [\\\<version\\\>]()
133-
> - [\\\<description\\\>]()
134-
> - [\\\<maintainer\\\> (multiple, but at least one)]()
135-
> - [\\\<license\\\> (multiple, but at least one)]()
131+
> - [\<name\>](#name)
132+
> - [\<version\>](#version)
133+
> - [\<description\>](#description)
134+
> - [\<maintainer\> (multiple, but at least one)](#maintainer-multiple-but-at-least-one)
135+
> - [\<license\> (multiple, but at least one)](#license-multiple-but-at-least-one)
136136
137137
### Optional Tags
138138

@@ -141,66 +141,68 @@ The required tags in a `package.xml` file provide package meta-data:
141141
Optional, but recommended, meta-data include the names of the original
142142
authors and links to support documentation.
143143

144-
> - [\\\<url\\\> (multiple)]()
145-
> - [\\\<author\\\> (multiple)]()
144+
> - [\<url\> (multiple)](#url-multiple)
145+
> - [\<author\> (multiple)](#author-multiple)
146146
147147
#### Dependencies
148148

149149
The dependencies and relations to other packages and system packages
150150
have been discussed in[^7] and are described using:
151151

152-
> - [\\\<build_depend\\\> (multiple)]()
153-
> - [\\\<buildtool_depend\\\> (multiple)]()
154-
> - [\\\<run_depend\\\> (multiple)]()
155-
> - [\\\<test_depend\\\> (multiple)]()
156-
> - [\\\<conflict\\\> (multiple)]()
157-
> - [\\\<replace\\\> (multiple)]()
152+
> - [\<build_depend\> (multiple)](#build_depend-multiple)
153+
> - [\<buildtool_depend\> (multiple)](#buildtool_depend-multiple)
154+
> - [\<run_depend\> (multiple)](#run_depend-multiple)
155+
> - [\<test_depend\> (multiple)](#test_depend-multiple)
156+
> - [\<conflict\> (multiple)](#conflict-multiple)
157+
> - [\<replace\> (multiple)](#replace-multiple)
158158
159159
#### Various
160160

161161
There is a need for additional meta-data in the manifest for other tools
162162
that work with packages, like message generators and plugin discovery.
163163
All of this *dynamic* information is stored in tags under a single tag:
164164

165-
> - [\\\<export\\\>]()
165+
> - [\<export\>](#export)
166166
167167
Tool providers are responsible for defining the tag structure their tool
168168
requires.
169169

170170
### Example
171171

172-
<package>
173-
<name>my_package</name>
174-
<version>1.2.3</version>
175-
<description>
176-
ROS communications-related packages, including core client
177-
libraries (roscpp, rospy, roslisp) and graph introspection tools
178-
(rostopic, rosnode, rosservice, rosparam).
179-
</description>
180-
<maintainer email="[email protected]">Someone</maintainer>
172+
```xml
173+
<package>
174+
<name>my_package</name>
175+
<version>1.2.3</version>
176+
<description>
177+
ROS communications-related packages, including core client
178+
libraries (roscpp, rospy, roslisp) and graph introspection tools
179+
(rostopic, rosnode, rosservice, rosparam).
180+
</description>
181+
<maintainer email="[email protected]">Someone</maintainer>
181182

182-
<license>BSD</license>
183-
<license>LGPL</license>
183+
<license>BSD</license>
184+
<license>LGPL</license>
184185

185-
<url type="website">http://wiki.ros.org/my_package</url>
186-
<url type="bugtracker">http://www.github.com/my_org/my_package/issues</url>
187-
<author>John Doe</author>
188-
<author email="[email protected]">Jane Doe</author>
186+
<url type="website">http://wiki.ros.org/my_package</url>
187+
<url type="bugtracker">http://www.github.com/my_org/my_package/issues</url>
188+
<author>John Doe</author>
189+
<author email="[email protected]">Jane Doe</author>
189190

190-
<buildtool_depend>catkin</buildtool_depend>
191-
<build_depend version_gte="1.1" version_lt="2.0">genmsg</build_depend>
191+
<buildtool_depend>catkin</buildtool_depend>
192+
<build_depend version_gte="1.1" version_lt="2.0">genmsg</build_depend>
192193

193-
<build_depend>libgstreamer0.10-dev</build_depend>
194-
<run_depend>libgstreamer0.10-0</run_depend>
194+
<build_depend>libgstreamer0.10-dev</build_depend>
195+
<run_depend>libgstreamer0.10-0</run_depend>
195196

196-
<test_depend>gtest</test_depend>
197+
<test_depend>gtest</test_depend>
197198

198-
<conflict>my_old_package</conflict>
199+
<conflict>my_old_package</conflict>
199200

200-
<export>
201-
...
202-
</export>
203-
</package>
201+
<export>
202+
...
203+
</export>
204+
</package>
205+
```
204206

205207
### \<name\>
206208

@@ -247,7 +249,9 @@ they can claim maintainership:
247249

248250
#### Example
249251

250-
<maintainer email="[email protected]">Unmaintained see http://wiki.ros.org/MaintenanceGuide#Claiming_Maintainership</maintainer>
252+
```xml
253+
<maintainer email="[email protected]">Unmaintained see http://wiki.ros.org/MaintenanceGuide#Claiming_Maintainership</maintainer>
254+
```
251255

252256
### \<license\> (multiple, but at least one)
253257

@@ -351,7 +355,7 @@ system.
351355

352356
#### Attributes
353357

354-
> The same attributes as for [\\\<build_depend\\\> (multiple)]().
358+
> The same attributes as for [\<build_depend\> (multiple)](#build_depend-multiple).
355359
356360
### \<run_depend\> (multiple)
357361

@@ -371,7 +375,7 @@ are built.
371375

372376
#### Attributes
373377

374-
> The same attributes as for [\\\<build_depend\\\> (multiple)]().
378+
> The same attributes as for [\<build_depend\> (multiple)](#build_depend-multiple).
375379
376380
### \<test_depend\> (multiple)
377381

@@ -383,7 +387,7 @@ A `<test_depend>` may not reference any package also declared using a
383387

384388
#### Attributes
385389

386-
> The same attributes as for [\\\<build_depend\\\> (multiple)]().
390+
> The same attributes as for [\<build_depend\> (multiple)](#build_depend-multiple).
387391
388392
### \<conflict\> (multiple)
389393

@@ -396,7 +400,7 @@ and[^10].
396400

397401
#### Attributes
398402

399-
> The same attributes as for [\\\<build_depend\\\> (multiple)]().
403+
> The same attributes as for [\<build_depend\> (multiple)](#build_depend-multiple).
400404
401405
### \<replace\> (multiple)
402406

@@ -405,7 +409,7 @@ This maps to `Replaces` for `dpkg` and `Obsoletes` for `rpms`.
405409

406410
#### Attributes
407411

408-
> The same attributes as for [\\\<build_depend\\\> (multiple)]().
412+
> The same attributes as for [\<build_depend\> (multiple)](#build_depend-multiple).
409413
410414
### \<export\>
411415

@@ -418,9 +422,11 @@ Existing rosbuild export tags for tools using `pluginlib` remain
418422
unchanged. For example, a package which implements an rviz plugin might
419423
include this:
420424

421-
<export>
422-
<rviz plugin="${prefix}/plugin_description.xml"/>
423-
</export>
425+
```xml
426+
<export>
427+
<rviz plugin="${prefix}/plugin_description.xml"/>
428+
</export>
429+
```
424430

425431
The following are some tags used within an `<export>` for various
426432
package and message generation tasks.
@@ -445,21 +451,25 @@ notify users about that fact. The tag may be empty or may optionally
445451
contain an arbitrary text providing user more information about the
446452
deprecation:
447453

448-
<export>
449-
<deprecated>
450-
This package will be removed in ROS Hydro. Instead, use package
451-
FOO, which provides similar features with a different API.
452-
</deprecated>
453-
</export>
454+
```xml
455+
<export>
456+
<deprecated>
457+
This package will be removed in ROS Hydro. Instead, use package
458+
FOO, which provides similar features with a different API.
459+
</deprecated>
460+
</export>
461+
```
454462

455463
#### \<message_generator\>
456464

457465
The content defines the *identifier* for the language bindings generated
458466
by this package, i.e. in `gencpp` this is set to `cpp`:
459467

460-
<export>
461-
<message_generator>cpp</message_generator>
462-
</export>
468+
```xml
469+
<export>
470+
<message_generator>cpp</message_generator>
471+
</export>
472+
```
463473

464474
#### \<metapackage/\>
465475

@@ -481,24 +491,30 @@ robot and then provide a comprehensive grouping for your whole system.
481491
Every metapackage must have a `CMakeLists.txt` containing these
482492
commands:
483493

484-
cmake_minimum_required(VERSION 2.8.3)
485-
project(PACKAGE_NAME)
486-
find_package(catkin REQUIRED)
487-
catkin_metapackage()
494+
```cmake
495+
cmake_minimum_required(VERSION 2.8.3)
496+
project(PACKAGE_NAME)
497+
find_package(catkin REQUIRED)
498+
catkin_metapackage()
499+
```
488500

489501
Because the metapackage `CMakeLists.txt` contains a catkin macro, its
490502
`package.xml` must declare a buildtool dependency on catkin:
491503

492-
<buildtool_depend>catkin</buildtool_depend>
504+
```xml
505+
<buildtool_depend>catkin</buildtool_depend>
506+
```
493507

494508
Additional buildtool, build or test dependencies are not permitted.
495509

496510
Metapackages list all packages or other metapackages in their group
497511
using `<run_depend>` tags:
498512

499-
<run_depend>your_custom_msgs</run_depend>
500-
<run_depend>your_server_node</run_depend>
501-
<run_depend>your_utils</run_depend>
513+
```xml
514+
<run_depend>your_custom_msgs</run_depend>
515+
<run_depend>your_server_node</run_depend>
516+
<run_depend>your_utils</run_depend>
517+
```
502518

503519
## Compatibility
504520

0 commit comments

Comments
 (0)