Dagger2注释处理器是否支持Eclipse增量编译器?

时间:2016-12-16 06:16:07

标签: dependency-injection dagger-2 dagger

Dagger2注释处理器是否支持Eclipse增量编译器? 我使用示例应用程序设置了Dagger2,并且在完全编译之后(清理项目之后)一切正常,但是经过小的更改(模块或组件)并且只有增量编译器运行没有更新任何内容(并且错误显示在Eclipse日志中) 。 这是正常的,如果不是,我怎么能解决这个问题,因为完整的编译器运行很昂贵。

由于

1 个答案:

答案 0 :(得分:3)

是和否。

Dagger编写时只使用作为JDK一部分提供的标准注释处理API。在其实现中没有特定于编译器的东西。因此,从理论上讲,Dagger应该在任何编译器下工作。

不幸的是,在尝试使用Eclipse实现该API运行Dagger时,我们已经遇到了大量的错误。任何基于ECJ的东西(Eclipse的增量编译,Android' s Jack toolchain等)都会以意想不到的方式崩溃。

虽然像AutoValue这样的项目以足够有限的方式进行注释处理,以便为workarounds建立所需的功能,但对于Dagger而言,这将是一项非常大的工作。

因此,如果/当Eclipse可以可靠地支持注释处理时,Dagger应该可以工作。