如何创建只包含用自定义注释注释的类/方法的JavaDoc?

如何创建只包含用自定义注释注释的类/方法的JavaDoc?,java,gradle,javadoc,Java,Gradle,Javadoc,情况如下: 客户希望有一个公共API的文档。我们确实使用@PublicAPI自定义注释记录和注释了特定的方法(以防止这些函数混淆) 现在我们只想为这些方法生成Javadoc。我们正在使用gradle,我知道我可以过滤源代码,但这对我们来说还不够——API经常更改 有什么想法吗?您应该使用自定义的Doclet之类的工具。只需调整exclude方法即可。然后,创建一个自定义的Javadoc任务: task generatePublicAPIDocs(type: Javadoc) { source

情况如下: 客户希望有一个公共API的文档。我们确实使用@PublicAPI自定义注释记录和注释了特定的方法(以防止这些函数混淆)

现在我们只想为这些方法生成Javadoc。我们正在使用gradle,我知道我可以过滤源代码,但这对我们来说还不够——API经常更改


有什么想法吗?

您应该使用自定义的
Doclet
之类的工具。只需调整
exclude
方法即可。然后,创建一个自定义的
Javadoc
任务:

task generatePublicAPIDocs(type: Javadoc) {
  source = sourceSets.main.allJava
  destinationDir = your/dest/dir
  options.docletpath = your/doclet/path
  options.doclet = "com.yourdoclet.TheDoclet"
}

我已经用了很多年了,效果很好。只需在任何类、成员、字段或包上使用
@exclude
javadoc标记,它就会从生成的javadoc中被排除。

Nice!但是,有一件事,我想要注释
@include
,而不是
@exclude
。客户端只需要整个文档的一部分。
@include
功能是Javadoc默认的功能:它不会添加任何内容。只要
@排除你不想让你的客户看到的任何东西
@exclude
在类成员级别上可能非常粗糙(您可以将其放入
包info.java
中,它将排除该包中的所有内容),也可能非常精细。