运行在 Linux 平台的开源 Swift(3)

import PackageDescription let package = Package( name: "Dealer", dependencies: [ .Package(url: "https://github.com/apple/example-package-deckofplayingcards.git", majorVersion: 1), ] )

这里面定义了我们这个包的名称: name: "Dealer" , 然后还定义了它的依赖关系, 它依赖于另外一个代码库:

https://github.com/apple/example-package-deckofplayingcards.git

通过 Package.swift 的定义, swift build 命令就可以根据相应的依赖关系,自动为我们的项目抓取那些需要的第三方库。

我们现在可以运行 build 命令:

swift build

可以看到, swift build 正在替我们把各种项目的依赖关系处理了一遍:

Cloning Packages/example-package-deckofplayingcards Cloning Packages/example-package-fisheryates Cloning Packages/example-package-playingcard Compiling Swift Module 'FisherYates' (1 sources) Linking Library: .build/debug/FisherYates.a Compiling Swift Module 'PlayingCard' (3 sources) Linking Library: .build/debug/PlayingCard.a Compiling Swift Module 'DeckOfPlayingCards' (1 sources) Linking Library: .build/debug/DeckOfPlayingCards.a Compiling Swift Module 'Dealer' (1 sources) Linking Executable: .build/debug/Dealer

从输出可以看到,我们复制出来的这个项目的依赖项目,又依赖了其他的项目,形成了一个依赖链条。

当 swift build 命令运行完成自后,我们会发现项目的根目录中多了一个 Packages 目录,这个目录里面存放了我们抓取下来的依赖项目:

+ Packages | example-package-deckofplayingcards-1.0.2 | example-package-fisheryates-1.0.2 | example-package-playingcard-1.0.1

这个就是 Swift 包管理系统的基本概念了。

结语

相信关于包管理,我们应该并不陌生,Swift 包管理和 CocoaPods , Carthage 这些我们常用的包管理工具很类似,随让Swift 包管理工具不是第一个,但这确是苹果公司的第一次,相信开源后的 Swift 会更加壮大。

Ubuntu 15.10安装部署Swift开发环境 

Swift 的变化:从 2.2 到 3.0 会带来什么 

Swift 正式开源,同时开源 Swfit 核心库和包管理器

Apple Swift学习教程 

使用 Swift 构建一个 iOS 的邮件应用

Swift 2.0开源化 

Linux下搭建Swift语言开发学习环境

Swift 的详细介绍请点这里

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/15587.html