火箭 🚀

用于 Git 仓库和 Swift 包的 Swift CLI 发布工具

安装 Rocket

您可以使用 SPM 安装 Rocket

  1. 添加或修改 Package.swift
  2. 添加此依赖项 .package(url: "https://github.com/shibapm/Rocket", from: "0.1.0")
  3. 然后您可以运行 swift run rocket 1.0.0,其中 1.0.0 是您要发布的版本

设置发布步骤

使用 YAML

创建一个名为 .rocket.yml 的文件,并将您的步骤放在其中

---
steps: 
  - script: 
      content: ruby Scripts/update_changelog.rb
  - git_add:
      paths:
        - CHANGELOG.md
  - commit:
      message: "Releasing version $VERSION"
  - tag
  - push

使用 PackageConfig

使用 PackageConfig,您可以将配置放在 Package.swift 的末尾

#if canImport(PackageConfig)
    import PackageConfig
    
    let config = PackageConfiguration([
        "rocket": ["steps":
            [
                ["script": ["content": "ruby Scripts/update_changelog.rb"]]
                ["git_add": ["paths": ["CHANGELOG.md"]]],
                ["commit": ["message": "Releasing version $VERSION"]],
                "tag",
                "push"
            ]
        ]
    ]).write()

默认步骤

如果没有步骤定义,Rocket 将运行默认步骤

Before/After 步骤

如果您使用 before 和/或 after

例如

---
before: 
  - script: 
      content: echo "Testing Release for $VERSION"
after:
  - script: 
      content: echo "released $VERSION"

Rocket 将在 before 和 after 步骤之间执行默认步骤

隐藏开发依赖项

当您发布一个包时,您希望添加它作为依赖项的人只下载您的包真正需要的依赖项。

这就是 Rocket 引入开发依赖项概念的原因,如果您的包中有一些脚本,例如 swiftformat,您可以将它们添加为开发依赖项(通过在它们后面添加 // dev),它们将被 hide_dev_dependencies 步骤注释掉,并从 unhide_dev_dependencies 中取消注释。

这也适用于仅从测试目标使用的依赖项,但在这种情况下,您也必须将测试目标添加为开发依赖项。

一些例子是

步骤

您可以在这里找到完整的步骤列表

变量 $VERSION

您可以在步骤中使用变量 $VERSION 来引用您正在发布的版本

下一步