c# - obtener - Excluyendo directorios para Doxygen
obtener archivos de un directorio c# (2)
Quiero que Doxygen ignore, omita, no busque en los siguientes directorios de mi proyecto:
*/.svn/*
*/docs/*
*/Properties/*
*/bin/*
De acuerdo con las preguntas frecuentes de Doxygen :
How can I exclude all test directories from my directory tree?
Simply put an exclude pattern like this in the configuration file:
EXCLUDE_PATTERNS = */test/*
Entonces, mi archivo Doxygen se ve así:
# If the value of the INPUT tag contains directories, you can use the
# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
# certain files from those directories. Note that the wildcards are matched
# against the file with absolute path, so to exclude all test directories
# for example use the pattern */test/*
EXCLUDE_PATTERNS = */.svn/* /
*/docs/* /
*/published/* /
*/bin/* /
*/obj/*
La salida de Doxygen es:
Searching for include files...
Searching for example files...
Searching for images...
Searching for files in directory c:/Test_Fixtures/pc_application/docs
Searching for files in directory c:/Test_Fixtures/pc_application/docs/.svn
Searching for files in directory c:/Test_Fixtures/pc_application/docs/.svn/prop-base
Searching for files in directory c:/Test_Fixtures/pc_application/docs/.svn/props
Searching for files in directory c:/Test_Fixtures/pc_application/docs/.svn/text-base
Searching for files in directory c:/Test_Fixtures/pc_application/docs/.svn/tmp
Searching for files in directory c:/Test_Fixtures/pc_application/docs/.svn/tmp/prop-base
Searching for files in directory c:/Test_Fixtures/pc_application/docs/.svn/tmp/props
Searching for files in directory c:/Test_Fixtures/pc_application/docs/.svn/tmp/text-base
Searching for files in directory c:/Test_Fixtures/pc_application/docs/html
Searching for files in directory c:/Test_Fixtures/pc_application/docs/html/.svn
Searching for files in directory c:/Test_Fixtures/pc_application/docs/html/.svn/prop-base
Searching for files in directory c:/Test_Fixtures/pc_application/docs/html/.svn/props
Searching for files in directory c:/Test_Fixtures/pc_application/docs/html/.svn/text-base
Searching for files in directory c:/Test_Fixtures/pc_application/docs/html/.svn/tmp
Searching for files in directory c:/Test_Fixtures/pc_application/docs/html/.svn/tmp/prop-base
Searching for files in directory c:/Test_Fixtures/pc_application/docs/html/.svn/tmp/props
Searching for files in directory c:/Test_Fixtures/pc_application/docs/html/.svn/tmp/text-base
Searching for files in directory c:/Test_Fixtures/pc_application/docs/html/search
Searching for files in directory c:/Test_Fixtures/pc_application/docs/html/search/.svn
Searching for files in directory c:/Test_Fixtures/pc_application/docs/html/search/.svn/prop-base
Searching for files in directory c:/Test_Fixtures/pc_application/docs/html/search/.svn/props
Searching for files in directory c:/Test_Fixtures/pc_application/docs/html/search/.svn/text-base
Searching for files in directory c:/Test_Fixtures/pc_application/docs/html/search/.svn/tmp
Searching for files in directory c:/Test_Fixtures/pc_application/docs/html/search/.svn/tmp/prop-base
Searching for files in directory c:/Test_Fixtures/pc_application/docs/html/search/.svn/tmp/props
Searching for files in directory c:/Test_Fixtures/pc_application/docs/html/search/.svn/tmp/text-base
Searching for files in directory c:/Test_Fixtures/pc_application/docs/rtf
Searching for files in directory c:/Test_Fixtures/pc_application/docs/rtf/.svn
Searching for files in directory c:/Test_Fixtures/pc_application/docs/rtf/.svn/prop-base
Searching for files in directory c:/Test_Fixtures/pc_application/docs/rtf/.svn/props
Searching for files in directory c:/Test_Fixtures/pc_application/docs/rtf/.svn/text-base
Searching for files in directory c:/Test_Fixtures/pc_application/docs/rtf/.svn/tmp
Searching for files in directory c:/Test_Fixtures/pc_application/docs/rtf/.svn/tmp/prop-base
Searching for files in directory c:/Test_Fixtures/pc_application/docs/rtf/.svn/tmp/props
Searching for files in directory c:/Test_Fixtures/pc_application/docs/rtf/.svn/tmp/text-base
Lo que muestra claramente que EXCLUDE_PATTERNS no está funcionando. También tengo la opción EXCLUDE establecida como:
# The EXCLUDE tag can be used to specify files and/or directories that should
# excluded from the INPUT source files. This way you can easily exclude a
# subdirectory from a directory tree whose root is specified with the INPUT tag.
EXCLUDE = ../.svn /
../docs /
../published /
../docs/.svn /
../docs/.svn
Lo cual tampoco está funcionando.
Entonces, la pregunta de USD $ 100000 es: ¿Cómo hago que Doxygen excluya, omita, ignore, se mantenga alejado de directorios o carpetas específicos (preferiblemente algo que funcione)?
Estoy usando Doxygen Wizard en Windows 7 en la plataforma de CPU de 64 bits y Doxygen 1.7.3.
Tenga en cuenta que los comodines se comparan con el archivo con ruta absoluta
Por lo tanto, solo use rutas absolutas para sus exclusiones;)
PD: Por cierto, he luchado demasiadas veces con eso. Esta pequeña mención en el comentario de doxfile parece pasar desapercibida con demasiada frecuencia.
Vaya, me perdí el detalle de que ya lo habías intentado. Tal vez sea un problema con el valor de varias líneas: intente delimitar todas las rutas, usando solo un espacio como separador. Eso (más patrones absolutos) es suficiente en los pocos sistemas que he usado doxygen últimamente.
He realizado algunas pruebas más profundas, y también he echado otro vistazo a la documentación de doxfile. La sintaxis correcta es usar espacio para la separación. Si realmente desea usar varias líneas, la sintaxis admitida y documentada sería:
EXCLUDE_PATTERNS = */.svn/*
EXCLUDE_PATTERNS += */docs/*
EXCLUDE_PATTERNS += */published/*
# and so on
Además, observe de cerca cómo funcionan los patrones de exclusión: el directorio en sí está incluido, luego todo lo que contiene se probará con los patrones de exclusión y (dado que siempre coincidirá), se excluirá en base a archivo por archivo .
Por lo tanto, eche un vistazo más de cerca a su resultado: la Searching for files in directory
líneas de Searching for files in directory
se supone que debe estar allí (doxygen buscará en el directorio, pero no encontrará nada porque todo está siendo excluido); ¿ Parsing code for file
o Generating docs for
para cualquiera de los contenidos en esos directorios? Si no obtiene ninguno de estos, significa que todo está funcionando bien (se buscan directorios, pero no se incluye nada en ellos). Si los archivos están siendo incluidos, pruebe la separación de espacio o la sintaxis +=
. No veo nada en los documentos, incluso insinuando que su sintaxis podría funcionar (por supuesto, puede haber pasado por alto algo).
Tenga en cuenta que puedo ver un fenómeno similar cuando uso doxygen. Sin embargo, eso sucede cuando la herramienta busca archivos e imágenes de ejemplo:
Searching for example files...
Searching for files in directory .../wpkg/mainline/documentation
Searching for files in directory .../wpkg/mainline/documentation/.svn
Searching for files in directory .../wpkg/mainline/documentation/.svn/prop-base
[...]
Searching for images...
Searching for files in directory .../wpkg/mainline/documentation
Searching for files in directory .../wpkg/mainline/documentation/.svn
Searching for files in directory .../wpkg/mainline/documentation/.svn/prop-base
[...]
Como tiene la configuración EXCLUDE_PATTERNS para ignorar los subdirectorios .svn. Supongo que es un error en doxygen que debería verificar esas exclusiones al escanear ejemplos e imágenes.
También parece que podría imprimirse todos los directorios en la pantalla, pero los ignora adecuadamente ya que antes de usarlos verifica los patrones de exclusión. Pero eso es solo una suposición; aunque parece que alguien dice que así es como funciona aquí:
http://doxygen.10944.n7.nabble.com/EXCLUDE-DIRECTORY-PATTERN-td2185.html