Skip to content

Instantly share code, notes, and snippets.

@briancroom
Last active April 23, 2016 05:39
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 briancroom/1d2e27c7b94ba7cbd718dbdf88ae3771 to your computer and use it in GitHub Desktop.
Save briancroom/1d2e27c7b94ba7cbd718dbdf88ae3771 to your computer and use it in GitHub Desktop.
Sample console output from swift-ide-test
# swift-ide-test -print-swift-file-interface -print-interface -source-filename ./Sources/Build/misc.swift
/*
This source file is part of the Swift.org open source project
Copyright 2015 - 2016 Apple Inc. and the Swift project authors
Licensed under Apache License v2.0 with Runtime Library Exception
See http://swift.org/LICENSE.txt for license information
See http://swift.org/CONTRIBUTORS.txt for Swift project authors
*/
import func POSIX.getenv
import func POSIX.popen
import func POSIX.mkdir
import func POSIX.fopen
import func libc.fclose
import PackageType
import Utility
public protocol Toolchain {
public var platformArgs: [String] { get }
public var sysroot: String? { get }
public var SWIFT_EXEC: String { get }
public var clang: String { get }
}
internal func platformFrameworksPath() throws -> String
extension CModule {
var moduleMap: <<error type>> { get }
var moduleMapPath: <<error type>> { get }
}
extension ClangModule {
public enum ModuleMapError : ErrorProtocol {
case UnsupportedIncludeLayoutForModule
}
///FIXME: we recompute the generated modulemap's path
///when building swift modules in `XccFlags(prefix: String)`
///there shouldn't be need to redo this there but is difficult
///in current architecture
public func generateModuleMap(inDir wd: String) -> <<error type>>
///warn user if in case module name and c99name are different and there a `name.h` umbrella header
private func diagnoseInvalidUmbrellaHeader(_ path: String) -> <<error type>>
private enum UmbrellaType {
case Header
case Directory
}
private func createModuleMap(inDir wd: String, type: UmbrellaType) -> <<error type>>
}
extension Product {
var Info: <<error type>> { get }
}
extension SystemPackageProvider {
var installText: <<error type>> { get }
static func providerForCurrentPlatform(providers: [SystemPackageProvider]) -> <<error type>>
}
# swift-ide-test -print-swift-file-interface -print-interface -source-filename ./Sources/PackageDescription/Package.swift 2>/dev/null
/*
This source file is part of the Swift.org open source project
Copyright 2015 - 2016 Apple Inc. and the Swift project authors
Licensed under Apache License v2.0 with Runtime Library Exception
See http://swift.org/LICENSE.txt for license information
See http://swift.org/CONTRIBUTORS.txt for Swift project authors
*/
import Glibc
/// The description for a complete package.
public final class Package {
/// The description for a package dependency.
public class Dependency {
public let versionRange: Range<Version>
public let url: String
internal init(_ url: String, _ versionRange: Range<Version>)
public class func Package(url: String, versions: Range<Version>) -> <<error type>>
public class func Package(url: String, majorVersion: Int) -> swift_ide_test.Package.Dependency
public class func Package(url: String, majorVersion: Int, minor: Int) -> swift_ide_test.Package.Dependency
public class func Package(url: String, _ version: Version) -> <<error type>>
}
/// The name of the package, if specified.
public let name: String?
/// pkgconfig name to use for C Modules. If present, swiftpm will try to search for
/// <name>.pc file to get the additional flags needed for the system module.
public let pkgConfig: String?
/// Providers array for System module
public let providers: [SystemPackageProvider]?
/// The list of targets.
public var targets: [Target]
/// The list of dependencies.
public var dependencies: [Dependency]
/// The list of test dependencies. They aren't exposed to a parent Package
public var testDependencies: [Dependency]
/// The list of folders to exclude.
public var exclude: [String]
/// Construct a package.
public init(name: String? = default, pkgConfig: String? = default, providers: [SystemPackageProvider]? = default, targets: [Target] = default, dependencies: [Dependency] = default, testDependencies: [Dependency] = default, exclude: [String] = default)
}
public enum SystemPackageProvider {
case Brew(String)
case Apt(String)
}
extension SystemPackageProvider : TOMLConvertible {
internal var nameValue: (String, String) { get }
public func toTOML() -> String
}
extension swift_ide_test.Package.Dependency : TOMLConvertible {
public func toTOML() -> String
}
extension Package : TOMLConvertible {
public func toTOML() -> String
}
extension Package : Equatable {
}
public func ==(lhs: Package, rhs: Package) -> Bool
extension swift_ide_test.Package.Dependency : Equatable {
}
public func ==(lhs: Package.Dependency, rhs: Package.Dependency) -> Bool
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment