Pergunta

este guia da Apple para criar documentação doxygen. Eu fiz necessidade de modificar o script para colocar variáveis ??em citações por isso, quando ele analisa um diretório com espaços, não tratá-lo como dois argumentos distintos.

Dito isso, eu recentemente trocou a utilização subversão no Xcode em vez de usar o material Snapshot, que tem uma história notória com corromper-se e perder a sua história. Meu processo para fazer tal era criar uma subversão como estrutura de diretórios para o meu projeto, verifique se no SVN, então confira confira a partir do tronco.

O meu problema é que quando eu criar a documentação, não importa como eu modificar meu arquivo doxygen config (exclude_parameters, etc ...), a primeira vez que cria a DocSet para a documentação é bom. A segunda vez que atravessa, ele tem problemas tentando copiar com o comando cp para o meu diretório documentação da biblioteca onde está instalado para Xcode para referência.

Eu tentei adicionar aos exclude_parameters .svn * .svn * * /. Svn * * /. Svn / * mas nada parece ajudar ou afetar a documentação. Eu fiz um chmod no meu DocSet depois de instalado, e que resolve o problema, mas é realmente apenas mascarando o fato de que os diretórios .svn ainda estão presentes na documentação.

Eu pensei que talvez a criação de uma ação da pasta pode fazer o truque, mas eu realmente não brinquei com scripts Apple que muito. Seria um hack, mas certamente fazer o trabalho.

Para fazer isso, porém bem, alguém tem uma idéia de como fazer isso (a maneira correta) graciosamente?

Obrigado!

Foi útil?

Solução

Eu não sei exatamente onde o problema é, por isso vou tentar descrever como eu trabalho com svn, doxygen e Xcode. Eu escrevi uma guia mais completo do que esta resposta, mas, infelizmente, é em francês.

No que diz respeito arquivos de origem, a minha estrutura de diretório do projeto é plano: no código fonte está em sub-pastas (este é o padrão quando você gerenciar o código apenas com Xcode). Meu Doxyfile contém essa configuração:

RECURSIVE = NO

Desta forma, os diretórios .svn não são analisadas por doxygen.

No que diz respeito docsets, meu Doxyfile contém essas configurações:

GENERATE_DOCSET        = YES
DOCSET_FEEDNAME        = "My wonderful Application"
DOCSET_BUNDLE_ID       = com.example.mywonderfulapp

e meu script esta aparência:

# Where are doxygen and dot (assuming in my own Applications folder)
DOXYGEN_PATH=${HOME}/Applications/Doxygen.app/Contents/Resources
PATH=${DOXYGEN_PATH}:${PATH}
export PATH

# Doxygen documentation generation
doxygen || exit 1

# DOCSET generation
make -C html install || exit 1

# Open DOCSET in Xcode
DOCSET_PATH=Library/Developer/Shared/Documentation/DocSets
open $HOME/$DOCSET_PATH/fr.exemple.doxygentutorial.docset || exit 1

Com essas configurações eu não ter problemas como os que você descreve.

Outras dicas

Você não deve ter uma estrutura de diretório plana em seu projeto. O que se quer internacionalizar-lo?

A maneira de evitar esses erros cp é adicionar o pacote DocSet à lista de arquivos ignorados pelo SVN. Se ele é ignorado não é controle de versão e, se não for versionadas há nenhum arquivo .svn para cp para reclamar.

Eu estou usando o cliente de linha de comando SVN assim YMMV, mas aqui está o que eu fiz:

  • Em primeiro lugar, SVN atualizar sua cópia de trabalho para se certificar de que você está sincronizado com o repositório.
  • Em segundo lugar, SVN excluir o diretório DocSet do repositório e cometer.
  • Em terceiro lugar, construir o projeto para gerar um novo diretório DocSet (este é unversioned).
  • Adicionar a SVN ignorar e cometer
  • Status Do svn para se certificar de que tudo está ok. Agora você deve ser capaz de trabalhar sem problemas.

Eu passei um par de horas para descobrir isso, mas agora eu posso construir meu projeto à vontade sem ser enganados por esses erros falso e eu tenho a minha DocSet.

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