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

news/2024/11/6 19:14:35 标签: compile

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 Doe
      age: 30
      address:
        street: 123 Main St
        city: 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: nginx
    ports:
      - "80:80"
  database:
    image: postgres
    environment:
      POSTGRES_USER: user
      POSTGRES_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.niftyadmin.cn/n/5741161.html

相关文章

服务器托管的常见问题和解决办法?

服务器托管服务中一般会遇到哪些问题&#xff1f;又该如何解决&#xff1f;    问题1&#xff1a;服务器宕机和不稳定 解决办法&#xff1a;选择高质量的托管服务提供商&#xff0c;看服务商是否有IDC|ISP|CDN资质&#xff0c;确保其拥有良好的基础设施和稳定的网络环境。定…

Python教学:生成器对象的两种产生方法

1.利用生成器表达式产生: 2.利用生成器函数产生:

WordCloudStudio:AI生成模版为您的文字云创意赋能 !

在信息泛滥的时代&#xff0c;如何有效地将文字内容变成生动的视觉元素&#xff1f;WordCloudStudio为您提供了答案。无论您是市场营销专家、教育工作者、数据分析师&#xff0c;还是创意设计师&#xff0c;WordCloudStudio都能帮助您轻松创建引人注目的文字云。更重要的是&…

静态库、动态库、framework、xcframework、use_frameworks!的作用、关联核心SDK工程和测试(主)工程、设备CPU架构

1.1库的概念 库&#xff1a;程序代码的集合&#xff0c;编译好的二进制文件加上头文件供使用&#xff0c;共享程序代码的一种方式。 1.2库的分类 根据开源情况分为&#xff1a;开源库&#xff08;能看到具体实现&#xff09;、闭源库&#xff08;只公开调用的的接口&#xf…

心烦意乱致心脏不适?中医调理助你重拾安宁

在日常生活中&#xff0c;我们难免会遇到各种烦心事&#xff0c;当这些负面情绪积累到一定程度时&#xff0c;不仅会影响我们的心理健康&#xff0c;还会对身体健康造成损害&#xff0c;特别是心脏。心烦意乱引起的心脏难受&#xff0c;在中医看来&#xff0c;往往与心火旺盛、…

微服务的注册中心Nacos

前言 Nacos是阿里巴巴开源的服务注册中心以及配置中心&#xff0c;致力于给开发者提供一款便捷、简单上手的开源框架。 Nacos究竟有什么惊人的地方呢&#xff1f;看下图&#xff1a; 从上图不难看出阿里巴巴的野心&#xff0c;一个Nacos干掉了Spring Cloud的三大组件&#xf…

SMTP代理

背景&#xff1a; 我们有一个第三方的系统支持通过邮件发送报警&#xff0c;但是只支持基本的smtp功能&#xff0c;输入账号密码/邮箱地址/邮件服务器地址/端口号&#xff0c;却不支持加密功能&#xff0c;试了下starttls和ssl加密都不行。所以最终解决方案是加一个smtp代理来…

Qt字符编码

目前字符编码有以下几种&#xff1a; 1、UTF-8 UTF-8编码是Unicode字符集的一种编码方式(CEF)&#xff0c;其特点是使用变长字节数(即变长码元序列、变宽码元序列)来编码。一般是1到4个字节&#xff0c;当然&#xff0c;也可以更长。 2、UTF-16 UTF-16是Unicode字符编码五层次…