6.1.2 启用构建插件
原文链接: https://docs.swift.org/latest/documentation/packagemanagerdocs/enablebuildplugin/
6.1.2 启用构建插件
用来自其他包的构建插件扩展包管理器。
概述
包插件对定义它的包可用;如果存在对应的插件产品,那么对任何直接依赖该定义包的包也可用。
添加依赖
要使用定义在另一个包中的插件,先添加对定义该插件的包的包依赖。例如,要使用 swift-openapi-generator,添加下面这个依赖:
1
2
3
4
5
6
7
8
9
10
11
| let package = Package(
// 名称、平台、产品等
dependencies: [
// 其他依赖
.package(url: "https://github.com/apple/swift-openapi-generator",
from: "1.0.0"),
],
targets: [
// 目标
]
)
|
这个插件可以根据 OpenAPI 定义文件为客户端和服务端生成模型与桩代码。
确定要启用插件的目标
把插件添加到每一个应当应用它的目标上。例如,下面的例子在可执行目标上启用了 OpenAPI 生成器插件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| let package = Package(
name: "Example",
dependencies: [
.package(url: "https://github.com/apple/swift-openapi-generator",
from: "1.0.0"),
],
targets: [
.executableTarget(
name: "MyExample",
plugins: [
.plugin(name: "OpenAPIGenerator",
package: "swift-openapi-generator")
]
)
]
)
|
当包管理器构建这个可执行目标时,它会调用该插件,并把应用该插件的目标的包模型简化版本传给它。插件返回的任何构建命令都会被纳入构建图,并在构建过程中的适当时机运行。