1. package.xml使用说明

a. pacakge.xml 包含了package的名称、 版本号、 内容描述、 维护人员、 软件许可、 编译构建工具、 编译依赖、 运行依赖等信息。

2. package.xml写法

a. pacakge.xml 遵循xml标签文本的写法, 由于版本更迭原因, 现在有两种格式并存( format1与format2) , 不过区别不大。 老版本( format1) 的 pacakge.xml 通常包含以下标签:

i. format1:

Num name  Explanation
 1 <pacakge>  根标记文件
 2 <name>  包名
 3 <version>   版本号
 4 <description>  内容描述
 5 <maintainer>   维护者
 6 <license>   软件许可证
 7 <buildtool_depend>   编译构建工具, 通常为catkin
 8 <build_depend>   编译依赖项, 与Catkin中的
 9 <run_depend>   运行依赖项

PS:其中1-6为必备标签,1是根标签嵌套了其余所有标签,2-6是包的各种属性,7-9是编译相关信息。

ii. format2:

Num name Explanation
1 <pacakge> 根标记文件
2 <name> 包名
3 <version> 版本号
4 <description> 内容描述
5 <maintainer>  维护者
6 <license>  软件许可证
7 <buildtool_depend> 编译构建工具,通常为catkin
8 <depend> 指定依赖项为编译、 导出、 运行需要的依赖,最常用的依赖标记。
9 <build_depend> 编译依赖项
10 <build_export_depend>  导出依赖项
11 <exec_depend>  运行依赖项
12 <test_depend> 测试用例依赖项
13 <doc_depend>  文档依赖项

红色为新增的标签,蓝色是老版本更改的标签。

3. 新老版本对比:(与老版本不同的地方都已经红字标注)

<?xml version="1.0"?>
<package format="2">                              <!--在声明pacakge时指定format2,为新版格式-->
<name>turtlesim</name>
<version>0.8.1</version>
<description>turtlesim is a tool made for teaching ROS and ROS packages.</description>
<maintainer email="dthomas@osrfoundation.org">Dirk Thomas</maintainer>
<license>BSD</license>
<url type="website">http://www.ros.org/wiki/turtlesim</url>
<url type="bugtracker">https://github.com/ros/ros_tutorials/issues</url>
<url type="repository">https://github.com/ros/ros_tutorials</url>
<author>Josh Faust</author>               
<buildtool_depend>catkin</buildtool_depend>                   <!--编译工具为catkin-->
<depend>geometry_msgs</depend>                                                    <!--用depend来整合build_depend和run_depend-->
<depend>rosconsole</depend>
<depend>roscpp</depend>
<depend>roscpp_serialization</depend>
<depend>roslib</depend>
<depend>rostime</depend>
<depend>std_msgs</depend>
<depend>std_srvs</depend>
<build_depend>qtbase5-dev</build_depend>                    <!--build_depend标签未变-->
<build_depend>message_generation</build_depend>
<build_depend>qt5-qmake</build_depend>
<exec_depend>libqt5-core</exec_depend>                       <!--run_depend要改为exec_depend-->
<exec_depend>libqt5-gui</exec_depend>
<exec_depend>message_runtime</exec_depend>
</package>

package.xml使用说明的更多相关文章

  1. Salesforce 的 package.xml 文件

    package.xml文件 在部署元数据(Metadata)的时候,package.xml是很关键的一个文件.此文件中定义了一个XML格式的列表,其中包含了各个元数据组件的定义. Metadata A ...

  2. package.xml

    package.xml 也是一个catkin的package必备文件, 它是这个软件包的描述文件, 在较早的ROS版本(rosbuild编译系统)中, 这个文件叫做 manifest.xml , 用于 ...

  3. 打包组件assembly之package.xml

    形如: <assembly> <id>deploy</id> <formats> <format>zip</format> &l ...

  4. package的xml格式的改变

    package.xml文件格式由1到2发生了一些变化: 格式2有如下一行: <package format="2"> 依赖也发生一些变化<depend> 格 ...

  5. Qt Installer Framework 使用说明(一)

    目录 Qt Installer Framework 使用说明 1.Qt Installer Framework概述 选择安装包类型 促进更新 提供安装内容 2.入门指南 支持的平台 从源代码构建 支持 ...

  6. xml 配置文件规范 校验

    背景:做的数据同步框架,数据同步种类通过xml配置文件添加.为了系统的稳定性,我们只能认为将来写这个运行配置xml的人是一个傻瓜,那么对xml格式校验就很重要. 通过dom4j,是可以完成对xml格式 ...

  7. PERL/LEX/YACC技术实现文本解析--XML解析

    继周六的p_enum.pl后,再来一篇说说我用perl做的lex,yacc工具.之前说了,我学习lex和yacc的最初动机是为了做个C语言解释器的SHELL:但后来工作中的实际需要也是制作perl版l ...

  8. Tomcat web.xml中定义了文件扩展名到MIME类型的对应关系

    Tomcat在返回静态资源时,会根据资源文件的扩展名产生对应的content-type头(也即MIME类型)添加到response header中. 在Tomcat的web.xml规定了扩展名及相应M ...

  9. java中的xml与实体类之间的映射

    实体类: package xml; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement public class User ...

随机推荐

  1. 操作系统的发展史(并发与并行)<异步与同步>《进程与程序》[非堵塞与堵塞]

    目录 一:一:手工操作 -- 穿孔卡片 1.简介 二:手工操作方式两个特点: 三:批处理 -- 磁带存储 1.联机批处理系统 2.脱机批处理系统 3.多道程序系统 4.多道批处理系统 四:总结发展史 ...

  2. linux磁盘管理(全面解析)

    目录 一:磁盘管理 1.磁盘管理作用 2.磁盘挂载顺序 3.磁盘分区 4.Linux 磁盘管理常用命令 5.磁盘分区内容 二:linux中分区的意义 三:分区的步骤与顺序 1.添加磁盘 2.查看创建新 ...

  3. Vue之JavaScript基础(闭包与原型链)

    闭包 定义:能够访问另一个函数作用域的变量的函数. 作用:可以通过闭包,设计私有变量及方法 实例: function outer() { var a = '变量1' var inner = funct ...

  4. aws 试题

    /* Domain 1 Design Resilient Architectures 1. Which of the following statements regarding S3 storage ...

  5. Redis下载安装与配置(windows)

    一.Redis下载 Redis官网建议使用Linux进行部署,未提供windows版本的Redis,但微软开发和维护着Windows64版本的Redis. Windows64版本的Redis下载地址: ...

  6. 女朋友让我深夜十二点催她睡觉,我有Python我就不干

    事情是这样的:今天晚上,女朋友让我十二点催她睡觉. 不过,可是我实在太困了,熬不下去-- 是吧?女朋友哪有睡觉重要? 但,女朋友的命令,我是不敢违抗的-- 但是睡觉也不能缺! 这时候我们该怎么办呢?是 ...

  7. 对于网络请求ajax理解

    先对原生Ajax进行理解: Ajax=异步JS和XML,用于创建快速动态网页的技术 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. 工作原理 对于Ajax的 ...

  8. Spring学习七:ComponentScan注解

    今天主要从以下几个方面来介绍一下@ComponentScan注解: @ComponentScan注解是什么 @ComponentScan注解的详细使用 1.ComponentScan注解是什么 其实很 ...

  9. Git 保存和恢复工作进度(stash)

    感谢原文作者:滑稽的命运 原文链接:https://www.jianshu.com/p/1e65e938f93c 作用: 封存工作区与暂存区已经被Git版本控制,但没有提交(Commit)版本库的文件 ...

  10. 入门 - k8s伸缩应用程序 (六)

    目标 使用 kubectl 伸缩应用程序. Scaling(伸缩)应用程序 在之前的文章中,我们创建了一个 Deployment,然后通过 服务 提供访问 Pod 的方式.我们发布的 Deployme ...