去年 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
。
bash # 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
使用你创建的目录名作为包名。main.swift
:Swift 应用使用main.swift
(有且只有一个)作为程序执行的入口。Tests
目录:存放应用的测试用例。后面会详细介绍。.gitignore
:一个便捷的 git gitignore 文件,忽略一些本地编译时用到的配置目录和文件,比如:.build
和Packages
目录(一些你不想加入到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 程序员吧!
原文链接:https://www.f2er.com/swift/324237.html本文由 SwiftGG 翻译组翻译,已经获得作者翻译授权,最新文章请访问 http://swift.gg。