Swift Platforms CI/CD

Msg2swift - 为 ROS 消息、服务和动作文件生成 Swift 模型。

描述

Msg2swift 帮助您从 ROS .msg/.srv/.action 文件生成 Swift 模型。 旨在与 CDRCodable 结合使用。
特别是,Msg2swift 为编码和解码固定大小的数组生成正确的 CodableKeys。

命令行使用安装

Homebrew

运行以下命令以使用 Homebrew 安装

brew install DimaRU/formulae/msg2swift

Swift 包管理器命令行插件

当您将 CDRCodable 依赖项添加到您的项目时

.package(url: "https://github.com/DimaRU/CDRCodable", from: "1.0.0")

您可以使用 msg2swift SPM 命令行插件

swift package plugin --allow-writing-to-package-directory msg2swift ../../msg/BatteryState.msg -o model

命令行用法

USAGE: msg2swift [<options>] <file> ...

ARGUMENTS:
  <file>                  .msg or .srv or .action file(s) to convert.

OPTIONS:
  --let/--var             Use var or let for model properties. (default: --let)
  --struct/--class        Struct or class declaration. (default: --struct)
  --codable/--encodable/--decodable
                          Model declaration protocol. (default: --codable)
  --snake-case/--no-snake-case
                          Convert property names from "snake_case" to
                          "camelCase" (default: --snake-case)
  -c, --compact           Compact generated code.
        Strip all comments and remove empty lines.
  --detect-enum/--no-detect-enum
                          Detect enums. (default: --detect-enum)
        Detect and group constants into Swift enum.
  -n, --name <name>       Object name.
        By default file name used.
  -o, --output-directory <path>
                          The output path for generated files.
        By default generated files written to the current directory.
  -s, --silent            Don't print processed file names.
  --version               Show the version.
  -h, --help              Show help information.

构建

使用 Swift 包管理器进行构建。

https://github.com/DimaRU/Msg2swift.git
cd Msg2swift
swift build