ament_package 包

ament_package

ament_package,这个库包含一个单一的ament Python包,提供了查找和解析package.xml文件的API。

所有的ament包必须包含一个package.xml文件,在包的根目录,不管它们的底层构建系统是什么。 package.xml文件包含了处理和操作这个包的必要信息。这个包信息包含包名——一般是全局唯一的,还有包的依赖。package.xml文件也作为一个标记文件存在,即标明了包在文件系统的位置。

除了解析package.xml文件,ament_package提供了方法,可以通过搜索文件系统的package.xml文件来找到包的位置。

package.xml 包的manifest文件,标记了包的根并包含了包的元数据,包括它的名字、版本、描述、维护者、license、依赖等。manifest文件的内容是机器可读的XML格式,内容在 REPs 127 和 140中有描述,在未来的REPs中有修改的可能。

所以,如果一些包被称为ament package,那么它就是一个独立的软件单元(源码、构建文件、测试、文档和其他资源),使用一个package.xml manifest文件描述。

ament package 任何包含package.xml的包,遵循ament的指南,不管底层的构建系统是什么。

因为ament package是构建系统独立的,所以有各种各样的ament包,比如ament CMake package、ament Python package等。

CMake package

Any package containing a plain CMake project and a package.xml manifest file.

ament CMake package

A CMake package that also follows the ament packaging guidelines.

Python package

Any package containing a setuptools based Python project and a package.xml manifest file.

ament Python package

A Python package that also follows the ament packaging guidelines.

转载于:https://my.oschina.net/itfanr/blog/1791449