まえからこれやりたかった(たまに既存の探したけれど、見つからなかった)わけですが、 kmizuさんがやってるの見かけて
習作として書いてみた。Symbolという名前だけど、scala.Symbolじゃないの使ってたとか、Symbol全部消し去りたいわけじゃなくて、一部残しておきたいとかの場合に困りますけど、特殊なコードではなければ、こういうシンプルなコードで書き換えできるのいいですね。半自動化にはとても便利そう。 pic.twitter.com/GJJv0mJAL4
— Kota Mizushima (@kmizu) August 7, 2019
「なるほど、これなら普通にSymbol literal書き換え書けそうだな、やるか」
と思い立ち、やりました。一応maven centralにリリースしました
あとは公式ページに色々書いてあるので読んでくれ、という感じですが、maven centralにリリースしなくても、githubのやつ直接参照できる機能などもあるらしいですね。便利
scalafixによるSymbol literalの書き換え、書いたら動いたのだが、自分でrepository作って使ってもらうより、そもそもScala言語自体のmigrationとして必要なら、scalafixのbuild-in ruleに存在していていいのでは、と思ったのでissue立てた
— Kenji Yoshida (@xuwei_k) 2019年8月7日
(実はどこかに既にあるのだろうか)https://t.co/JG1LgLdo3t
https://t.co/TRl8PSl0h1
— Kenji Yoshida (@xuwei_k) 2019年8月7日
無事にscalikejdbcのtest codeのSymbol literal 207箇所全部を自動書き換え出来た
結局リリースしたhttps://t.co/u2OMi0NgI4
— Kenji Yoshida (@xuwei_k) 2019年8月7日
https://t.co/vbEdJx92Ni
— Kenji Yoshida (@xuwei_k) August 7, 2019
まだCI待ちだけど、skinny-frameworkも自動Symbol literal書き換えできた気がする。600行くらい
g8テンプレート使ったんですが、メンテが若干微妙だから、ちゃんと更新して欲しい(sbtのversion古かった。あとでpull reqするか) github.com