This commit is contained in:
2023-03-14 18:49:37 -04:00
parent 8dc72e4a95
commit 31ec784323
3 changed files with 35 additions and 2 deletions

View File

@@ -0,0 +1,25 @@
import Foundation
import PackagePlugin
@main
struct GenerateVersionBuildPlugin: BuildToolPlugin {
func createBuildCommands(
context: PackagePlugin.PluginContext,
target: PackagePlugin.Target
) async throws -> [PackagePlugin.Command] {
guard let target = target as? SourceModuleTarget else { return [] }
let outputPath = context.pluginWorkDirectory
let tool = try context.tool(named: "git-version")
let outputFile = outputPath.appending(subpath: "Version.swift")
return [
.buildCommand(
displayName: "Build With Version",
executable: tool.path,
arguments: ["generate", "\(target.name)"],
environment: [:],
inputFiles: target.sourceFiles.map(\.path),
outputFiles: [outputFile]
)
]
}
}