colcon的扩展,用于支持Ament Cargo包。
项目描述
colcon-ros-cargo
使用colcon构建cargo项目。
使用方法
包需要除了Cargo.toml
之外还要有package.xml
。您应该在colcon list
的输出中看到这样的包被分类为ament_cargo
。如果它们被分类为ros.ament_cargo
,则表示colcon-ros-cargo
扩展没有被colcon
找到。请确保您已构建并加载了(source install/setup.bash
)扩展。
只需在Cargo.toml
和package.xml
中列出依赖项(其他ament_cargo
包或消息包),就像它们托管在crates.io上一样。colcon-ros-cargo
将找到这些依赖项,并创建一个.cargo/config.toml
文件,帮助cargo找到这些包。
可以通过--cargo-args
选项传递给cargo
的额外参数,例如:colcon build --cargo-args --release
。
构建完成后,使用ros2 run
运行二进制文件。
colcon-ros-cargo
还旨在支持将cargo
作为主要的构建工具直接使用。只需用colcon
构建一次,以确保所有非Cargo依赖项都已构建且存在.cargo/config.toml
文件,然后使用cargo
将直接工作 – cargo build
,cargo clippy
,cargo doc
等。当依赖图发生变化时,请使用colcon
重新构建。
局限性
这绝对不是一个完美的构建系统。
值得注意的是,构建成本与依赖链长度成二次关系。为了说明这一点,假设有A、B和C三个包,其中C依赖于B,B依赖于A。如果colcon构建此工作空间,它会首先构建A,然后是B,然后是C。然而,Cargo也会构建所有依赖项,即构建B时,Cargo会再次构建A,构建C时会再次构建A和B。
colcon test
尚不支持。
项目详情
colcon-ros-cargo-0.1.0.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 83036f315c86fab6d714d3d438415a96b604f822cdae1c91413e0b6fe45f861c |
|
MD5 | 15e7821c54dfa0dd89e28e2e1993f48d |
|
BLAKE2b-256 | 39f282028e94712d00dacf1532169ec4f8b7c765cb220bb6f13728bc55d4ed3c |
colcon_ros_cargo-0.1.0-py3-none-any.whl的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | e93f6553f01b342ff6a4754cbb2a18d84fde2716e74a6327c8433e30fb61a6b2 |
|
MD5 | 7a2812a09481e3c27c723280606fa630 |
|
BLAKE2b-256 | d0d33829184d5b78c0bce992eaa4da11b2696f064a88787744b57e9c2eacc7e0 |