INNER CODE UNIT · Swift

performCommand

skiptools/skip · Plugins/SkipLink/SkipLinkPlugin.swift:7

    func performCommand(context: PackagePlugin.PluginContext, arguments: [String]) async throws {
        let packageID = context.package.id

        let packageFolder = URL(fileURLWithPath: context.package.directory.string)
        let skipLinkFolder = packageFolder.appendingPathComponent("SkipLink")

        // When ran from Xcode, the plugin command is invoked with `--target` arguments,
        // specifying the targets selected in the plugin dialog.
        var argumentExtractor = ArgumentExtractor(arguments)
        let inputTargets = argumentExtractor.extractOption(named: "target")

        let skipLinkOutut = URL(fileURLWithPath: context.pluginWorkDirectory.string)
        for targetName in inputTargets {
            let skipstoneTargetOutput = skipLinkOutut
                .deletingLastPathComponent()
                .appendingPathComponent(packageID + ".output")
                .appendingPathComponent(targetName)
                .appendingPathComponent("skipstone")

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…