Dagger2: Dagger2.27の新しいエラーメッセージを少し試してみる
Created at Tue, Mar 17, 2020Dagger 2.27でエラーメッセージの改善が入っていたので、軽く試してみました。試してみた系の記事になります。
まず有効にする
この機能はexperimentalなので、明示的に有効にする必要があります。kaptを使っているなら、次のように有効にします。
allprojects {
afterEvaluate {
extensions.findByName("kapt")?.arguments {
arg("dagger.experimentalDaggerErrorMessages", "enabled")
}
}
}
適当にエラーを出してみる
まずは、Providesの指定を外してみます。
// @Provides <-- エラーを出したいのでコメントアウト
fun provideTestObject(): TestObject = TestObject()
@Inject lateinit var testObject: TestObject
すると、次のようになります。
新しいエラーログ
古いエラーログ
次に、複数Providesの指定をしてみます。
@Provides
fun provideTestObject(): TestObject = TestObject()
@Provides
fun provideTestObject2(): TestObject = TestObject()
@Inject lateinit var testObject: TestObject
すると、次のようになります。
新しいエラーログ
古いエラーログ
まとめ
全部のエラーを見たわけではないので分からないですが、手元で軽くエラーを出して見た感じだと、見やすくなったかなと思います。 Daggerのエラーメッセージは難しいことで有名?だったと思うので、これで改善してくれればとても嬉しい😃