macOS • Windows • Web • Ubuntu • tvOS • iOS • Android • Amazon Linux • watchOS

文档

SDGSwift

SDGSwift 允许将 Swift 编译器用作软件包依赖项。

השֹּׁלֵחַ אִמְרָתוֹ אָרֶץ עַד־מְהֵרָה יָרוּץ דְּבָרוֹ׃

He sends His command to the earth; His word runs swiftly.

―a psalmist

特性

使用示例

let package = Package(
  url: URL(string: "https://github.com/apple/example\u{2D}package\u{2D}dealer")!
)
try package.build(.version(Version(2, 0, 0)), to: temporaryDirectory).get()

某些平台缺少某些功能。文档中出现的编译条件定义如下

.define("PLATFORM_LACKS_FOUNDATION_FILE_MANAGER", .when(platforms: [.wasi])),
.define("PLATFORM_LACKS_FOUNDATION_PROCESS", .when(platforms: [.wasi, .tvOS, .iOS, .watchOS])),
.define(
  "PLATFORM_NOT_SUPPORTED_BY_SWIFT_MARKDOWN",  // @exempt(from: marks)
  .when(platforms: [.wasi])
),
.define(
  "PLATFORM_NOT_SUPPORTED_BY_SWIFT_PM",
  .when(platforms: [.windows, .wasi, .tvOS, .iOS, .android, .watchOS])
),
.define(
  "PLATFORM_NOT_SUPPORTED_BY_SWIFT_SYNTAX_PARSER",
  .when(platforms: [.wasi])
),

导入

SDGSwift 提供与 Swift Package Manager 一起使用的库。

只需在 Package.swift 中将 SDGSwift 添加为依赖项,并指定要使用的库

let package = Package(
  name: "MyPackage",
  dependencies: [
    .package(
      url: "https://github.com/SDGGiesbrecht/SDGSwift",
      from: Version(14, 0, 0)
    ),
  ],
  targets: [
    .target(
      name: "MyTarget",
      dependencies: [
        .product(name: "SDGSwift", package: "SDGSwift"),
        .product(name: "SDGSwiftPackageManager", package: "SDGSwift"),
        .product(name: "SDGSwiftSource", package: "SDGSwift"),
        .product(name: "SDGSwiftDocumentation", package: "SDGSwift"),
        .product(name: "SDGXcode", package: "SDGSwift"),
        .product(name: "SDGSwiftConfiguration", package: "SDGSwift"),
        .product(name: "SDGSwiftConfigurationLoading", package: "SDGSwift"),
        .product(name: "SampleConfiguration", package: "SDGSwift"),
      ]
    )
  ]
)

然后可以在源文件中导入模块

import SDGSwift
import SDGSwiftPackageManager
import SDGSwiftSource
import SDGSwiftDocumentation
import SDGXcode
import SDGSwiftConfiguration
import SDGSwiftConfigurationLoading
import SampleConfiguration

关于

SDGSwift 项目由 Jeremy David Giesbrecht 维护。

如果 SDGSwift 为您节省了资金,请考虑将其中的一部分作为捐款

如果 SDGSwift 为您节省了时间,请考虑将其中的一部分用于回馈给该项目。

Ἄξιος γὰρ ὁ ἐργάτης τοῦ μισθοῦ αὐτοῦ ἐστι.

For the worker is worthy of his wages.

―‎ישוע/Yeshuʼa