Scalaのversionは2.10.4です。
- とあるprivateなフィールドをobject内に定義
- ライブラリをリリース
- それをpublicにしようとする
- mimaに怒られる(´・ω・`)
- 実は内部的にはコンパニオン同士でアクセスするためのメソッドが自動生成されてるから、そのメソッドを消すことになりバイナリ互換が崩れる!!!
- バイナリ互換のためには、privateではなくprivate[this]を使ったほうがいいのか?
という知見を得た。(またscalikejdbcやってる最中に)
まぁ崩れるけど、その自動生成メソッドを(javaから?)無理やり呼び出したりしない限り大丈夫?なので、もう少しmimaが賢くなるか、設定方法が柔軟になっていて欲しい気もする。
つらい・・・。