INNER CODE UNIT · Swift
performCommand
mono0926/LicensePlist · Plugins/AddAcknowledgementsCopyScriptCommand/AddAcknowledgementsCopyScriptCommand.swift:15
func performCommand(context: XcodePluginContext, arguments externalArgs: [String]) throws {
let licensePlist = try context.tool(named: "license-plist")
var arguments = ["add-acknowledgements-copy-script"] + externalArgs
do {
arguments += ["--xcodeproj", try findXcodeprojPath(context: context)]
try licensePlist.run(arguments: arguments)
} catch let error as RunError {
Diagnostics.error(error.description)
}
}
private func findXcodeprojPath(context: XcodePluginContext) throws -> String {
let projectDirectoryItems = try? FileManager.default.contentsOfDirectory(atPath: context.xcodeProject.directoryURL.path)
let xcodeprojFiles = projectDirectoryItems?.filter { $0.hasSuffix(".xcodeproj") }
guard let xcodeprojFiles = xcodeprojFiles, !xcodeprojFiles.isEmpty else {
throw RunError(description: ".xcodeproj file not found in the project directory")