当前位置: 首页 > news >正文

编译工具与文件学习(一)-YAML、repos、vcstoolcolcon

YAML

YAML(YAML Ain’t Markup Language)是一种人类可读的数据序列化格式,常用于配置文件、数据交换和存储结构化数据。YAML 的设计目标是简洁、易读,并且能够表示复杂的数据结构。

YAML 文件的基本语法

  1. 基本结构

    • YAML 使用缩进来表示层级关系,通常使用空格(而不是制表符)进行缩进。
    • 每个层级的缩进通常为两个空格。
  2. 键值对

    • 使用冒号(:)分隔键和值。
    name: John Doe
    age: 30
    
  3. 列表

    • 使用短横线(-)表示列表项。
    fruits:- apple- banana- orange
    
  4. 字典

    • 字典可以嵌套,表示复杂的数据结构。
    person:name: John Doeage: 30address:street: 123 Main Stcity: Anytown
    
  5. 注释

    • 使用井号(#)表示注释,注释内容会被忽略。
    # 这是一个注释
    name: John Doe  # 这是另一个注释
    
  6. 多行字符串

    • 使用 | 表示保留换行的多行字符串。
    description: |This is a multi-line string.It preserves line breaks.
    
    • 使用 > 表示折叠的多行字符串,换行会被转换为空格。
    description: >This is a folded multi-line string.It will be a single line.
    
  7. 布尔值和空值

    • 布尔值可以用 truefalse 表示。
    • 空值可以用 null~ 表示。
    is_active: true
    middle_name: null
    last_name: ~
    

示例 YAML 文件

以下是一个包含多种数据结构的示例 YAML 文件:

version: 1.0
services:web:image: nginxports:- "80:80"database:image: postgresenvironment:POSTGRES_USER: userPOSTGRES_PASSWORD: password

YAML 文件因其简洁和可读性,广泛应用于配置文件(如 Docker Compose、Kubernetes 配置等)和数据交换场景。\

repos语法

  • repositories:为所有repos文件默认的开头
  • 每个需要下载的仓库的描述:
    target path for local save;
    type:git/Subversion/…
    url:storage pull website
    version:branch/tag/commit id

use vcs to simplify project management pipeline

vcs=封装过的git,简化了拉取和导出的流程

wget https://raw.githubusercontent.com/ros2/ros2/rolling/ros2.repos
mkdir src
vcs import src < ros2.repos
vcs validate --input ros2.repos

Results:

...
Found git repository 'https://github.com/ros2/tinyxml2_vendor.git' with branch 'rolling'
=== ros2/tlsf (git) ===
Found git repository 'https://github.com/ros2/tlsf.git' with branch 'rolling'
=== ros2/unique_identifier_msgs (git) ===
Found git repository 'https://github.com/ros2/unique_identifier_msgs.git' with branch 'rolling'
=== ros2/urdf (git) ===
Found git repository 'https://github.com/ros2/urdf.git' with branch 'rolling'
=== ros2/yaml_cpp_vendor (git) ===
Found git repository 'https://github.com/ros2/yaml_cpp_vendor.git' with branch 'rolling'

查看状态vcs status

.........................................................................................................
=== src/ament/ament_cmake (git) ===
位于分支 rolling
您的分支与上游分支 'origin/rolling' 一致。无文件要提交,干净的工作区
=== src/ament/ament_index (git) ===
位于分支 rolling
您的分支与上游分支 'origin/rolling' 一致。

colcon

查阅

  • 查看软件包的信息
colcon info --base-paths src/ros2/rcl/rcl_lifecycle

在这里插入图片描述

  • 只列举包名
 colcon list -n --base-paths src/ros2/rcl

在这里插入图片描述

colcon list -t --base-paths src/ros2/rcl

在这里插入图片描述

构建


http://www.mrgr.cn/news/67032.html

相关文章:

  • Java学习教程,从入门到精通,Java方法语法的知识点总结(21)
  • Rust闭包(能够捕获周围作用域变量的匿名函数,广泛应用于迭代、过滤和映射)闭包变量三种捕获方式:通过引用(不可变引用)、通过可变引用和通过值(取得所有权)
  • springboot职业推荐系统-计算机设计毕业源码12908
  • yolov8涨点系列之轻量化主干网络替换
  • 关于在url queryString中给相同parameter设置不同的value
  • Flutter中有趣的级联语法
  • NoSQL基础知识总结
  • xftp连接中不成功 + sudo vim 修改sshd_config不成功的解决方法
  • Linux 高级IO
  • sqli-labs(第三关)
  • 全流程揭秘:如何打造一个虚拟3D展厅?
  • memcache redis区别
  • 支持向量机相关证明 解的稀疏性
  • 如何解决反向代购业务中的物流难题?
  • 拦截器获取controller上的自定义注解
  • 代码随想录 | Day38 | 动态规划 :01背包应用 目标和一和零
  • LeetCode:3254. 长度为 K 的子数组的能量值 I(模拟 Java)
  • 登录注册窗口(一)
  • 【IC验证面试常问问题-2】
  • 【网络】数据链路层
  • 【科普笔记】——什么是环境变量
  • Spark的Standalone集群环境安装
  • 遥感图像数字处理 - 1
  • QMetaObject::invokeMethod异步调用一个函数,并传入自定义类型参数
  • python数据结构基础(5)
  • Ansys Zemax | 将CODE V设计导入OpticStudio