Pergunta

Doxygen é um pouco lento - leva cerca de um par de minutos para processar todo o meu projeto, então para pequenas incrementais muda isso é mais do que realmente construindo o resto do meu código. Há milhares de arquivos sem qualquer documentação, então acho que está passando a maior parte de seu tempo de processá-los. Existe alguma maneira de obtê-lo para ignorar arquivos sem qualquer documentação?

O que sobre começá-lo apenas para processar arquivos alterados?

Foi útil?

Solução

A partir de documentação Doxygen:

Como posso excluir todos os diretórios de teste de minha árvore de diretórios?

Basta colocar um padrão de excluir como esta no arquivo de configuração:

EXCLUDE_PATTERNS = / test /

Então, você deve estar usando padrões para excluir arquivos. Tem sido um longo tempo desde que eu usei Doxygen, mas eu não me lembro de nenhuma opção para processar arquivos só mudou.

Outras dicas

Descobri que desligar o SEARCH_INCLUDES opção fez uma grande diferença. Ele estava olhando através de toda a plataforma SDK e incluem caminhos para o compilador que não foram documentados de qualquer maneira e não aparecem na documentação gerada.

Há algumas opções DOT_NUM_THREADS que podem aumentar o desempenho em máquinas multicore. Infelizmente doxygen em si é apenas único segmento.

Outra abordagem seria a de organizar seu código em módulos executar para cada módulo um exemplo doxygen separada e vincular as marcas resultantes junto: http://www.doxygen.nl/manual/external.html

Doxygen é bom em encontrar conexões entre arquivos, seja alterado ou não. Mas Doxygen não se lembra de informações sobre arquivos inalterados, por isso deve processar toda a base de código de cada vez.

Pode ser uma solução seria a de organizar o projeto tais arquivos que nunca mudou pertencer a um módulo que está excluído do âmbito Doxygen e cuja documentação já está disponível. Então seria possível dizer Doxygen a ligação documentação recém-construído a esta documentação módulo existente.

Indo mais longe, também seria possível fazer módulo correndo Doxygen por módulo, o processamento de módulos só mudou e uma documentação de alto nível que links para todas as documentações do módulo.

Eu não acho que ter Doxygen corrida em um ciclo de dev normal é uma boa idéia. Nossa Doxygen construção é executado como parte das responsabilidades do nosso servidor de integração contínua.

Dito isto, existem alguns benefícios de executar doxygen cada compilação para pegar documentos desaparecidos. Assim, gostaria de cortar a configuração doxygen para dev constrói remoção diagramas, e até mesmo parada maçã importá-lo para o Xcode.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top