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")

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…