Kotlin 1.3がリリースされましたので、自社システムで使っているKotlinのバージョンもアップデートしました。
大きい非互換はないはずですが、pom.xmlのバージョンをアップデートしたらなんと自動的にソースコードからマイグレーションが必要な箇所を洗い出してくれます。特に修正が必要な箇所は指摘されませんでしたが。
Kotlin 1.3にアップグレードした。マイグレーションが必要な箇所をIntelliJ IDEAが洗い出してくれるみたいだけど、特に作業必要なかった pic.twitter.com/HmcO8JgOiT
— 山本ユースケ (@yusuke) 2018年10月30日
CIにかけてみたところ、IllegalStateException: Resource not found in class path: Kotlin/corountines/coroutines.kotlin_builtins という見慣れない例外メッセージでテストが失敗します。残念ながら似た事例は見つかりません。
いくつかテスト失敗した pic.twitter.com/SBdcw8PNIc
— 山本ユースケ (@yusuke) 2018年10月30日
今回stableに昇格したコルーチンに関連するようですがまだ自社でコルーチンは使っていません。Kotlinに対する依存回りの問題だろうということで調べてみたらjsonの(デ)シリアライザであるmoshi-kotlinというライブラリがKotlinに依存していました。こちらがコンフリクトしていたようです。
以下の様にmoshi-kotlinへの依存から、Kotlinへの依存を外してみたところ解決しました。めでたしめでたし。