Doxygen 不能将 .aidl 接口和枚举包含在文档中

Doxygen cannot include .aidl interfaces and enums to the documentation

提问人:Dmitry Golubev 提问时间:11/9/2023 最后编辑:Dmitry Golubev 更新时间:11/22/2023 访问量:44

问:

我有一些带有 intefaces 和 enums 的 .aidl 文件,并想将它们添加到 API 文档中。 我添加了 INPUT 的路径,并使用 .aidl 和指向 FILE_PATTERNS 以及 .javaaidl=java EXTENSION_MAPPING

然后,我生成文档,但什么也没看到。但是当我在 interface/enum 之前添加 public 关键字时,一切都很好。

似乎 doxygen 希望在接口枚举关键字之前先公开,但这是不好的方法,因为 android 无法解析它们。我在这里得到错误。<interface, parcelable, enum or union> or AidlTokenTypes.IMPORT_KEYWORD expected, got 'public'

有什么办法可以解决吗?

更新:

氧气:1.9.6

由于大型私人项目,无法提供示例

EXTRACT_STATIC = 是

EXTRACT_PRIVATE = 否

更新 2

示例:github

java android 降价 doxygen aidl

评论

0赞 albert 11/9/2023
您使用的是哪个版本的 doxygen?你能举一个小的完整例子,以便我们测试它吗?也许设置或确实有帮助。EXTRACT+STATICEXTRACT_PRIVATE
0赞 Dmitry Golubev 11/10/2023
@albert,更新了问题。EXTRACT_PRIVATE可能会有所帮助,但我认为这可能会导致不可预测的问题,因为该项目具有带有公共/私有接口的 c++/java 代码,这些接口不应该出现在文档中
0赞 Dmitry Golubev 11/10/2023
另外,据我了解,java 中的枚举和接口默认具有公共说明符。为什么 doxygen 认为它是非公开的?
0赞 albert 11/10/2023
目前的 doxygen 版本是 1.9.8,也许它在那里修复了。我可以理解您不能发布该项目,因为它是一个私人项目,但请尝试创建一个显示问题的小示例。这确实可能是不需要的,但只是作为测试和一种方法,以便我们可以找到解决方案。EXTRACT_PRIVATE
1赞 albert 11/22/2023
很高兴听到枚举的修复对您的代码库具有所需的效果。的问题是一个新问题,并在您在 github 上的示例中进行了说明,尽管在 doxygen 问题跟踪器中创建问题会好得多/需要(因此:请在 github.com/doxygen/doxygen/issues 创建一个小型、独立的示例(压缩、tar 或 zip 文件中的源 + 配置文件)允许我们重现问题?请不要添加外部链接,因为它们可能不是持久的。同时,我扩展了 PR 10402 的接口。请测试interface

答:

0赞 Dmitry Golubev 11/22/2023 #1

似乎错过了案例。根据@albert的评论,我创建了一个问题 https://github.com/doxygen/doxygen/issues/10434