将注释处理器与Gradle集成

2020年3月22日 32点热度 0条评论

我需要编写一些注释处理器。我发现this blog post提到了如何在常规设置和Eclipse中完成该操作。

但是,我使用的是IntelliJ IDEA和Gradle,如果有更好的方法(例如,不太乏味的方法),我会喜欢的。我在寻找什么:

  • 我应该能够编写注释处理器和将在同一项目中使用它们的代码,并且Gradle应该处理将处理器添加到类路径并在适当的阶段使用javac调用它们。
  • 如果以上操作不可行,并且我必须创建两个单独的项目,那么至少应该可以将它们保留在同一git存储库中。 Gradle应该无缝处理构建。或
  • 如果两者都不可行,我必须创建两个单独的git存储库,那么至少,Gradle应该无缝处理链接的博客文章中提到的内容,而无需进一步的手动干预。
  • 我的git和Gradle技能是初学者水平。我将不胜感激与此任务的任何帮助。谢谢。

    解决方案如下:

    另一种解决方案(在我看来更干净)可以是具有两个subprojects,然后简单地使包含注释处理器的解决方案成为主要解决方案的依赖项。因此,给您的子项目有两个目录:项目根目录中的coreannotation-processors,您还需要具有以下内容的settings.gradle文件:

    include 'core'
    include 'annotation-processors'
    

    然后在核心项目的gradle文件中:

    dependencies {
        compile project(':annotation-processors')
    }
    

    这样就可以了,您将不必处理自定义编译任务及其类路径。