我有一个标准的gradle java项目,我使用了lombok。我类有一个

@NoArgsConstructor(access = AccessLevel.PACKAGE)

但是当我运行./gradlew javadoc时,报告的可见性是公开的。有什么灵巧/快速的方法,还是我必须在delombokked源上运行delombok并运行javadoc?以及如何用gradle做到这一点?

gradle 3.3, Lombok 1.16.14

最佳答案



我已经看到人们在使用lombokked项目时抱怨JavaDocs不完整,因此,如果delombokking解决了您的问题,并且这样做没有障碍,那么它可能就是您的解决方案。



这是delombok和javadoc作业的gradle任务:

task delombok(type: DelombokTask, dependsOn: compileJava) {
    ext.outputDir = file("$buildDir/delombok")
    outputs.dir(outputDir)
    sourceSets.main.java.srcDirs.each {
        inputs.dir(it)
        args(it, "-d", outputDir)
    }
}

javadoc {
    dependsOn delombok
    source = delombok.outputDir
    failOnError = false
}

资料来源:
  • franzbecker/gradle-lombok
  • franzbecker/gradle-lombok Issue #13, comments
  • 关于java - 如何使Gradle Javadoc插件荣誉Lombok处理?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45488169/

    10-10 09:36