Skip to content

Instantly share code, notes, and snippets.

@ikesyo
Created December 6, 2022 01:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ikesyo/f152bf8ee60b1c9bff2e757b01a95fa9 to your computer and use it in GitHub Desktop.
Save ikesyo/f152bf8ee60b1c9bff2e757b01a95fa9 to your computer and use it in GitHub Desktop.
XcodeProjectPlugin.swiftmodule/arm64-apple-macos.swiftinterface
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.7.1 (swiftlang-5.7.1.135.3 clang-1400.0.29.51)
// swift-module-flags: -target arm64-apple-macos11.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -package-description-version 999.0 -module-link-name XcodeProjectPlugin -module-name XcodeProjectPlugin
// swift-module-flags-ignorable: -enable-bare-slash-regex -user-module-version 21508
import PackagePlugin
import Swift
public struct XcodeProject {
public let id: XcodeProjectPlugin.XcodeProject.ID
public typealias ID = Swift.String
public let displayName: Swift.String
public let directory: PackagePlugin.Path
public let filePaths: PackagePlugin.PathList
public let targets: [XcodeProjectPlugin.XcodeTarget]
}
public struct XcodeTarget {
public let id: XcodeProjectPlugin.XcodeTarget.ID
public typealias ID = Swift.String
public let displayName: Swift.String
public let product: XcodeProjectPlugin.XcodeProduct?
public let dependencies: [XcodeProjectPlugin.XcodeTargetDependency]
public let inputFiles: PackagePlugin.FileList
}
public struct XcodeProduct {
public let name: Swift.String
public let kind: XcodeProjectPlugin.XcodeProduct.Kind
public enum Kind {
case application
case executable
case framework
case library
case other(Swift.String)
}
}
public enum XcodeTargetDependency {
case target(XcodeProjectPlugin.XcodeTarget)
case product(XcodeProjectPlugin.PackageProduct)
}
public typealias PackageProduct = PackagePlugin.Product
public struct XcodePluginContext {
public let xcodeProject: XcodeProjectPlugin.XcodeProject
public let pluginWorkDirectory: PackagePlugin.Path
public func tool(named name: Swift.String) throws -> PackagePlugin.PluginContext.Tool
}
public protocol XcodeBuildToolPlugin : PackagePlugin.Plugin {
func createBuildCommands(context: XcodeProjectPlugin.XcodePluginContext, target: XcodeProjectPlugin.XcodeTarget) throws -> [PackagePlugin.Command]
}
public protocol XcodeCommandPlugin : PackagePlugin.Plugin {
func performCommand(context: XcodeProjectPlugin.XcodePluginContext, arguments: [Swift.String]) throws
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment