题
我试图找出如果有一种方法,以创建一个自定义的标签使用Doxygen.我没有找到别的配置文件的选择,但这不正是我需要的。基本上,在我的代码,我想能写一些东西喜欢
/// \req Requirement #322 - blah blah
然后有Doxygen创建一个表象,它并为 \bug
和 \todo
命令进行这种定义标记。这可能与Doxygen?
解决方案
概括的 \bug
和 \todo
是 \xrefitem
.
解决我的建议是:
在Doxyfile:
ALIASES += "req=\xrefitem req \"Requirement\" \"Requirements\" "
在记录的代号:
/// \req #42 - The system shall work in any situation
其他提示
感谢mouviciel!我已经通过您的解决方案和扩展它为我的目的。
下面的文本进入我的Doxyfile:
ALIASES += req{1}="\ref SRTX_\1 \"SRTX-\1\" "
ALIASES += satisfy{1}="\xrefitem satisfy \"Satisfies requirement\" \"Requirement Implementation\" \1"
ALIASES += verify{1}="\xrefitem verify \"Verifies requirement\" \"Requirement Verification\" \1"
在哪里SRTX是我的项目的名称,并用来作为前缀的要求。
然后,我创建了一个名为Requirements.dox文件,提供需求ID和我的需求管理工具需求的URL(问题跟踪在我的情况)之间的联系。
/**
@page Requirements
@section Build1
@anchor SRTX_1113
<a href="https://foo.bar.com/mantis/view.php?id=1113">SRTX-1113</a>
@anchor SRTX_1114
<a href="https://foo.bar.com/mantis/view.php?id=1114">SRTX-1114</a>
*/
你也可以把在锚标记需求的文本,如果你没有需要链接到外部源。
在我的代码有:
/**
* This is the basic executive that schedules processes.
* @satisfy{@req{1114}}
*/
class Scheduler: public Process
{
...
}
在我的测试中,我把:
/**
* Provide a number of tests for process scheduling.
* @verify{@req{1114}}
*/
class Scheduler_ut : public CppUnit::TestFixture
{
...
}
这让我对要求相关页面,要求执行,并要求验证。它还提供了在类描述满足要件和验证要求的部分(或功能 - 无论你把标签)。
结合两个以上的答案, 你可以有一个单一的清理要求的标记,将建立一个交叉参考表,而且,还提供一个直接链接到要求回购你的文档:
Doxygen配置文件:
别名= "requirement{1}=@xrefitem requirement \"Requirements\" \"Requirements Traceability\" <a href=\"http://your.requirementtool.com/browse/\1\">\1</a>"
源代码:
@requirement{REQ-123}
简短的文本摘要的这一要求项目
这将使在该文件为:
要求:
- REQ-123 简短的文本摘要的这一要求项目