在Java中测试注释处理器

问题描述

我正在开发注释处理器,现在我要进行下一步测试:

  1. 提交更改并将其推送到github
  2. 使用jitpack来构建和发布处理器
  3. 刷新Idea中的gradle。我的测试项目中的build.gradle:
repositories {
    maven { url 'https://jitpack.io' }
}
configurations.all {
    resolutionStrategy.cacheChangingModulesFor 0,'seconds'
}
dependencies {
    compileOnly 'com.github.hohserg1:MyAnnotationProcessor:main-SNAPSHOT'
}
  1. 尝试建立

这太可怕了。如何将其减少为“按下运行按钮”?

解决方法

您需要处理器,注释和应用程序位于不同的模块中,它们是不同的依赖关系,这样做可以避免处理器和应用程序之间的循环依赖关系,还可以帮助您避免包含处理器应用程序工件中的类。

另外,请注意,当开发注释处理器时,您不会测试处理器本身,而是测试从该处理器生成的代码(如果生成的代码可以正常工作,那么该处理器也可以正常工作)。