macOS • Ubuntu • Amazon Linux
Workspace 自动化 Swift 项目的管理。
Πᾶν ὅ τι ἐὰν ποιῆτε, ἐκ ψυχῆς ἐργάζεσθε, ὡς τῷ Κυρίῳ καὶ οὐκ ἀνθρώποις.
―שאול/Shaʼul
(以下演示包是一个真实的仓库。您可以使用它来跟随操作。)
寻找工作流程工具的需求可能会阻止贡献者。另一方面,将它们包含在仓库中会导致很多混乱。为了减少这两者,当使用 Workspace 的项目被拉取、推送或克隆时...
git clone https://github.com/SDGGiesbrecht/SDGCornerstone
...只有一个小的 Workspace 部分随之而来:一个名为 `Refresh` 的短脚本,它有多个平台变体。
嗯... 我希望我有更多的工具可以使用... 嘿! 如果我...
要刷新项目,双击您平台的 `Refresh` 脚本。(如果您的系统设置为在双击脚本时不会执行它们,您也可以从命令行执行脚本。)
`Refresh` 会打开一个终端窗口,Workspace 在其中报告其操作,同时它会为开发设置项目文件夹。(第一次可能需要一段时间,但后续运行会更快。)
这看起来好多了。让我们开始编码吧!
[添加这个... 删除那个... 在这里更改一些东西...]
...完成了。我想知道我在工作时是否破坏了任何东西?嘿! 看起来我可以...
当项目看起来准备好进行推送、合并或拉取请求时,通过双击 `Validate` 脚本来验证项目的当前状态。
`Validate` 会打开一个终端窗口,Workspace 在其中通过一系列检查来运行项目。
完成后,它会打印一个总结,说明哪些测试通过了,哪些测试失败了。
糟糕!我从来没有意识到会发生这种情况...
Refresh
。Validate
。哇! 这比手动完成容易多了!
虽然上述工作流程是最容易学习的,但 Workspace 也可以安装为命令行工具,可以在更广泛的方式中使用。最值得注意的是,任何单独的任务都可以独立执行,这可以大大加快熟悉它的用户的速度。
要将 Workspace 应用于项目,请在项目的仓库的根目录下运行以下命令。(这需要完整安装。)
$ workspace refresh
默认情况下,Workspace 会避免修改项目文件的任务。此类任务必须使用 配置 文件激活。 optIntoAllTasks()
可以在配置文件中使用,以便一次性轻松激活所有内容,无论它最终会覆盖多少。
Workspace 提供命令行工具。
它们可以通过任何 Swift 包的安装方式进行安装。最直接的方法是将以下内容粘贴到终端中,这将安装或更新它们
curl -sL https://gist.github.com/SDGGiesbrecht/4d76ad2f2b9c7bf9072ca1da9815d7e2/raw/update.sh | bash -s Workspace "https://github.com/SDGGiesbrecht/Workspace" 0.44.1 "workspace help" workspace arbeitsbereich
Workspace 提供一个库,用于 Swift Package Manager。
只需在 Package.swift
中添加 Workspace 作为依赖项
let package = Package(
name: "MyPackage",
dependencies: [
.package(
url: "https://github.com/SDGGiesbrecht/Workspace",
.upToNextMinor(from: Version(0, 44, 1))
),
],
targets: [
.target(
name: "MyTarget",
dependencies: [
.product(name: "WorkspaceConfiguration", package: "Workspace"),
]
)
]
)
然后可以在源文件中导入该模块
import WorkspaceConfiguration
Workspace 项目由 Jeremy David Giesbrecht 维护。
如果 Workspace 节省了您的资金,请考虑将其中一部分作为 捐款。
如果 Workspace 节省了您的时间,请考虑将其中的一部分用于 贡献 回到项目。
Ἄξιος γὰρ ὁ ἐργάτης τοῦ μισθοῦ αὐτοῦ ἐστι.
―ישוע/Yeshuʼa