如何使 gradle javadoc 插件尊重 lombok 处理?

pio*_*rek 4 java javadoc gradle lombok

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

@NoArgsConstructor(access = AccessLevel.PACKAGE) 
Run Code Online (Sandbox Code Playgroud)

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

gradle 3.3,龙目岛 1.16.14

Mar*_*ski 5

我是否必须在 delombok 源上运行 delombok 并运行 javadoc?

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

以及如何用 gradle 做到这一点

以下是 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
}
Run Code Online (Sandbox Code Playgroud)

资料来源: