with online how alternatives doxygen

online - Etiquetas personalizadas con Doxygen



doxygen ubuntu (2)

La generalización de /bug y /todo es /xrefitem .

La solución que sugiero es:

  • en Doxyfile:

    ALIASES += "req=/xrefitem req /"Requirement/" /"Requirements/" "

  • en código documentado:

    /// /req #42 - The system shall work in any situation

Estoy tratando de averiguar si hay una forma de crear una etiqueta personalizada usando Doxygen. Encontré la opción de archivo de configuración ALIAS, pero eso no hace exactamente lo que necesito. Básicamente en mi código, quiero poder escribir algo como

/// /req Requirement #322 - blah blah

Y luego haga que Doxygen cree una lista como lo hace para los comandos /bug y /todo para las líneas que tienen esta etiqueta personalizada. ¿Es esto posible con Doxygen?


Gracias mouviciel! He adoptado su solución y la he extendido para mis propósitos.

El siguiente texto va a mi 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"

Donde SRTX es el nombre de mi proyecto y se usa como un prefijo a los requisitos.

Luego creo un archivo llamado Requirements.dox que proporciona un enlace entre el ID de requisito y una URL para el requisito en mi herramienta de gestión de requisitos (un rastreador de problemas en mi caso).

/** @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> */

También podría colocar el texto del requisito en la etiqueta de anclaje si no necesitara enlazar a una fuente externa.

En mi código tengo:

/** * This is the basic executive that schedules processes. * @satisfy{@req{1114}} */ class Scheduler: public Process { ... }

Y en mis pruebas pongo:

/** * Provide a number of tests for process scheduling. * @verify{@req{1114}} */ class Scheduler_ut : public CppUnit::TestFixture { ... }

Esto me proporciona páginas relacionadas para Requisitos, Implementación de requisitos y Verificación de requisitos. También proporciona el requisito de Satisfacciones y verifica las secciones de requisitos en la descripción de la clase (o función, donde sea que coloque la etiqueta).