Travis CI で Swift Package Manager を試す方法を共有します。
ただし Swift 3.0 正式リリースまでに役に立たなくなるかもしれません。
⚠️___今のうちに試したい方向けです。___
前提
- あくまで Travis CI で
$ swift build
が使えることを確認するのが目的です。- Swift 2.2 サポートのライブラリは
$ swift build
できません。 - そのため
$ swift build --fetch
のみ実行しています。 -
$ swift test
は実行していません。
- Swift 2.2 サポートのライブラリは
- 3月24日付の Development Snapshots を使用しています。
swift-DEVELOPMENT-SNAPSHOT-2016-03-24-a
- これは 最低限 の設定です。ご自身の環境に応じてほかの設定を追加してください。
設定内容
language: objective-c
osx_image: xcode7.3
script:
- swift build --fetch
before_install:
- export SWIFT_VERSION=swift-DEVELOPMENT-SNAPSHOT-2016-03-24-a
- curl -O https://swift.org/builds/development/xcode/${SWIFT_VERSION}/${SWIFT_VERSION}-osx.pkg
- sudo installer -pkg ${SWIFT_VERSION}-osx.pkg -target /
- export TOOLCHAINS=swift
変更版
(2016-04-08 追記)
Travis CI のフォーマットに従えば env:
で環境変数を設定できますね。
(ついでに変数名を TOOLCHAIN_VERSION
に変更したのがまぎらわしいですが 🙏)
language: objective-c
osx_image: xcode7.3
+env:
+ - TOOLCHAINS=swift
script:
- swift build --fetch
before_install:
- - export SWIFT_VERSION=swift-DEVELOPMENT-SNAPSHOT-2016-03-24-a
- - curl -O https://swift.org/builds/development/xcode/${SWIFT_VERSION}/${SWIFT_VERSION}-osx.pkg
- - sudo installer -pkg ${SWIFT_VERSION}-osx.pkg -target /
- - export TOOLCHAINS=swift
+ - TOOLCHAIN_VERSION=swift-DEVELOPMENT-SNAPSHOT-2016-03-24-a
+ - curl -O https://swift.org/builds/development/xcode/${TOOLCHAIN_VERSION}/${TOOLCHAIN_VERSION}-osx.pkg
+ - sudo installer -pkg ${TOOLCHAIN_VERSION}-osx.pkg -target /
[https://docs.travis-ci.com/user/environment-variables/#Defining-Variables-in-.travis.yml:title]
結果
The command "swift build --fetch" exited with 0.
Done. Your build exited with 0.
参考
try! Swift
JP Simard (@simjp) さん『実践的クロスプラットフォーム Swift』
https://speakerdeck.com/jpsim/practical-cross-platform-swift?slide=36
補足
Xcode 7.3 では次のとおり設定します。
- Xcode 7.3
export TOOLCHAINS=swift
- Xcode 7.2
export PATH=/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2016-03-24-a.xctoolchain/usr/bin:"${PATH}"
おまけ
Apple の方がメーリングリストに次のとおり送っています。(2016年1月)
We are hoping that people will adopt SwiftPM.
Alternatively, call it
swift build
Swift.org のコミュニティ内 では SwiftPM または swift build
と呼んだほうがよいでしょうね。💁