SwiftGen 代码生成插件,适用于任何机器上的 Swift 包。无需安装,只需将该包添加到 Package.swift
的依赖项中即可。
dependencies: [
.package(url: "https://github.com/SwiftGen/SwiftGenPlugin", from: "6.6.0")
]
将 SwiftGen 添加为预构建工具将在每次构建之前执行它并生成您的文件。
将依赖项添加到 Package.swift
后,在您希望运行它的任何目标中包含 SwiftGenPlugin
插件。
targets: [
.target(
name: "YourTargetName",
dependencies: [],
plugins: [
.plugin(name: "SwiftGenPlugin", package: "SwiftGenPlugin")
]
)
]
按照配置文件格式向您的项目添加一个 swiftgen.yml
文件,并将每个输出路径加上前缀 ${DERIVED_SOURCES_DIR}/
。 或者通过将 output_dir
设置为该值,在您的配置中全局设置此项。
请查看此仓库的swiftgen.yml以获取示例。
每次调用该插件时,它将在以下两个位置查找 swiftgen.yml
配置文件:
Package.swift
相同的文件夹)。Sources/MyExample
。它将为找到的每个配置文件调用 SwiftGen,因此您可以选择任一选项,或将两者结合使用。 如果您需要一些特定于目标的配置和一些共享配置,而无需重复自己,这将很有用。
请注意,配置中的路径(到资源)需要根据配置的所在位置进行更改
Sources/MyExample/Resources/Localizable.strings
。 或者将配置的 input_dir
设置为 Sources/MyExample/Resources
。 请参阅顶级配置的示例。Resources/Localizable.strings
。 或者将配置的 input_dir
设置为 Resources
。 请参阅特定于目标的配置的示例。您可以使用以下命令手动调用 SwiftGen
swift package --allow-writing-to-package-directory generate-code-for-resources
该命令将自动搜索每个目标(或顶级)文件夹中的 swiftgen.yml
配置文件,并为它们调用 SwiftGen。
如果要手动提供配置文件和其他设置,请将它们作为额外的参数传递
swift package --allow-writing-to-package-directory generate-code-for-resources --config MyConfig.yml
此代码和工具受 MIT 许可证的保护。 请参阅此存储库中的 LICENCE
文件。
这些插件由 SwiftGen 提供支持。
目前主要由 @AliSoftware 和 @djbe 维护。 但我非常感谢所有其他 贡献者,他们在不同版本中为该工具做出了贡献,帮助 SwiftGen 变得如此出色! 🎉
如果您想贡献,请随时打开一个 Pull Request,甚至加入团队!