mike-neckのブログ

Java or Groovy or Swift or Golang

Swift Package Manager 5.0 のDevelop バージョンを利用する

swift-nio-ssl に PR を出して早7ヶ月、もはや Swift を忘れた頃に、「ごめんごめん、完全に忘れてた。最新の状態にあわせてくれれば取り込むよ」と言われて、準備をしようとしたところ、 swift-nio-ssl が使っている Swift Package Manager のバージョンが 5.0 にあがっていて、SwiftPM の 5.0 が使えるようになるまで途方に暮れたので、そのメモ。多分誰にも需要がないことであろうと思われる。というか、こんなブログに辿り着くよりも、GitHub の Swift Package Manager リポジトリーにアクセスしたほうが早いぞ。

f:id:mike_neck:20180609045321p:plain


まず、 こちら より、 Swift Package Manager 5.0 の develop バージョンを入手して、インストールします(画像省略)。

次にインストールされたディレクトリーを確認します。

$ ls /Library/Developer/Toolchains/
swift-4.1.3-RELEASE.xctoolchain             swift-5.0-DEVELOPMENT-SNAPSHOT-2019-02-28-a.xctoolchain
swift-4.2.1-RELEASE.xctoolchain             swift-latest.xctoolchain

インストールされたディレクトリーの Info.plistCFBundleIdentifier の値を読みます。

$ /usr/libexec/PlistBuddy -c "Print CFBundleIdentifier:"  /Library/Developer/Toolchains/swift-5.0-DEVELOPMENT-SNAPSHOT-2019-02-28-a.xctoolchain/Info.plist
org.swift.5020190228a

この値を環境変数 TOOLCHAINS に指定すれば、 Swift Package Manager はインストールされたバージョンを使うようになります。

$ export TOOLCHAINS=org.swift.5020190228a
$ swift package --version
Swift Package Manager - Swift 5.0.0 (3a57975e)
$ swift --version
Apple Swift version 5.0-dev (LLVM 3207a50965, Clang 107de882f4, Swift feacc3fd31)
Target: x86_64-apple-darwin18.2.0

JJUG ナイトセミナー 「JVM言語を作ろう! GraalVMで遊ぼう!」に参加してきた #jjug

f:id:mike_neck:20181019112748p:plain

表題の通りの勉強会に参加してきた。

jjug.doorkeeper.jp

今回も参加したときにはキャンセル待ちで、参加申し込みの段階で 50人待ちオーバー、2日前の時点で 45 人待ち、前日 26人待ちの状態でしたが、当日に参加できるようになりました。キャンセルしてくださった皆さんありがとうございます。

有志(僕)が togetter をまとめておりますので、当日のツイートはこちらを参照してください。

togetter.com

続きを読む

Reactor-Netty の http クライアントを Kotlin Coroutine とともにいじってみる

Reactor-Netty と Kotlin coroutine を同時にいじっているブログ記事を見かけなかったので、勉強がてらブログを書いてみることにしました。

f:id:mike_neck:20171113232305p:plain

続きを読む