簡體   English   中英

用於JOOQ檢查器的Gradle注解處理器

[英]Gradle annotationProcessor for JOOQ checker

Gradle是否具有與JOOQ類型檢查器注釋處理器( https://www.jooq.org/doc/latest/manual/tools/checker-framework/ )描述的Maven配置等效的功能? Maven版本是:

<dependency>
  <groupId>org.jooq</groupId>
  <artifactId>jooq-checker</artifactId>
  <version>3.10.5</version>
</dependency>

<plugin>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>3.3</version>
  <configuration>
    <source>1.8</source>
    <target>1.8</target>
    <fork>true</fork>
    <annotationProcessors>
      <annotationProcessor>org.jooq.checker.SQLDialectChecker</annotationProcessor>
    </annotationProcessors>
    <compilerArgs>
      <arg>-Xbootclasspath/p:1.8</arg>
    </compilerArgs>
  </configuration>
</plugin>

但是,盡管我可以將編譯依賴項添加到Gradle中,但是我不確定在何處放置annotationProcessor位。 任何幫助將不勝感激!

從Gradle 3.4開始,Gradle支持注釋處理器,方法是為處理器添加配置(例如,命名為“ apt”)並設置annotationProcessorPath處理器annotationProcessorPath 有關詳細信息,請參見CompileOptions#setAnnotationProcessorPath()

例:

configurations {
    apt
}

dependencies {
    apt 'org.jooq: jooq-checker:3.10.5'
}

tasks.withType(JavaCompile) {
    options.annotationProcessorPath = configurations.apt
    options.compilerArgs << "-processor" << "org.jooq.checker.SQLDialectChecker"
}

從Gradle 4.6開始,使用預定義的annotationProcessor配置甚至應該更簡單:

dependencies {
    annotationProcessor 'org.jooq: jooq-checker:3.10.5'
}
compileJava.options.compilerArgs << "-processor" << "org.jooq.checker.SQLDialectChecker"

另請參閱Gradle 4.6-rc.2發行說明以了解詳細信息。 當然,總有改進的潛力: 使注釋處理器成為一流的公民

當然,您可能要簽出一些Gradle的jOOQ插件: https ://plugins.gradle.org/search?term=jooq

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM