转载

使用 SwiftPM 创建新的包

作者:Joe, 原文链接 ,原文日期:2016-01-31

译者: shanks ;校对: numbbbbb ;定稿: 星夜暮晨

去年 11 月,我在 Swift 的 JIRA 中创建了一个 SwiftPM 的改进建议: SR-353 ,在 swift build 中,添加一个类似于 npm init 的包初始化命令,用来创建 Swift 包需要的所有目录和文件。这个提议创建之后不久, Bastian Rinsche 和 Tobias Landsberg 就实现了这个特性,而且 PR 被合并。Bastian 还写了一篇非常棒的 文章 介绍他对于 Swift 开源的一些认识,并且介绍了他们实现的 swift build --init 命令。

让我们看看具体应该怎么做。首先,使用 mkdir 创建一个新的目录,用来放置你的包或者应用。这里我们使用 helloworld 作为例子: mkdir helloworld 。然后,使用 cd 命令进入 helloworld 目录,运行命令: swift build --init

# cd helloworld
# swift build --init
Creating Package.swift
Creating .gitignore
Creating Sources/
Creating Sources/main.swift
Creating Tests/

我们看看 swift build --init 生成的内容:

  • Package.swift :包的”配置信息”(manifest)。 swift build --init 使用你创建的目录名作为包名。
  • Sources 目录:按照 SwiftPM 的要求,所有的源代码文件都放到 Sources 目录下。
  • main.swift :Swift 应用使用 main.swift (有且只有一个)作为程序执行的入口。
  • Tests 目录:存放应用的测试用例。后面会详细介绍。
  • .gitignore :一个便捷的 git gitignore 文件,忽略一些本地编译时用到的配置目录和文件,比如: .buildPackages 目录(一些你不想加入到 git 库的东西)。

在这个 helloword 例子中, Package.swift 文件内容如下:

import PackageDescription

let package = Package(
name: "helloworld"
)

运行 swift build 会创建可执行文件 .build/debug/helloworld ,运行这个文件就会在终端输出 Hello, world! .

如果你想编译一个 Swift 库,只需要删除 main.swift 文件,然后替换成你的库代码。在没有 main.swift 的情况下, SwiftPM 会创建一个静态的库。

Tests 目录

swift build --init 命令还添加了 Tests 目录,这个目录是为以后的自动化测试准备的。相关内容请阅读 SR-592 和 SE-0019 ,未来 SwiftPM 会支持自动化测试。

获取 Ubuntu 下的 Swift 安装包

如果你想尝试一下 swift build --init , 需要获取 Ubuntu 上最新的 Swift 2.2 包(写本文时,版本号是:version 2.2-0ubuntu15)。请查看这篇 文章 获取更多的信息。如果想了解更多关于 SwiftPM 的信息,请阅读本文 介绍 。做一个快乐的 Swift 程序员吧!

本文由 SwiftGG 翻译组翻译,已经获得作者翻译授权,最新文章请访问http://swift.gg。

原文  http://swift.gg/2016/03/24/creating-new-packages-with-swiftpm/
正文到此结束
Loading...