Вопрос

Я последовал за ним это руководство от Apple для создания документации doxygen.Мне действительно нужно было изменить скрипт, чтобы заключать переменные в кавычки, поэтому, когда он анализирует каталог с пробелами, он не обрабатывает его как два отдельных аргумента.

Тем не менее, недавно я перешел на использование subversion в XCODE вместо использования Snapshot, который имеет печально известную историю с повреждением самого себя и потерей вашей истории.Мой процесс для этого состоял в том, чтобы создать структуру каталогов, подобную subversion, для моего проекта, проверить это в SVN, затем проверить извлечение из магистрали.

Моя проблема в том, что когда я создаю документацию, независимо от того, как я изменяю свой конфигурационный файл doxygen (exclude_parameters и т.д.), При первом создании docset для документации все в порядке.Во второй раз, когда он проходит, возникают проблемы при попытке копирования с помощью команды cp в каталог документации моей библиотеки, где он установлен для ссылки на XCODE.

Я попытался добавить к exclude_parameters .svn *.svn * */.svn * */.svn /* но, похоже, ничто не помогает и не влияет на документацию.Я сделал чмодь в моем наборе документов после его установки, и это решает проблему, но на самом деле это просто маскирует тот факт, что каталоги .svn все еще присутствуют в документации.

Я подумал, что, возможно, создание действия с папкой могло бы помочь, но на самом деле я не так уж много возился с Apple scripts.Это был бы взлом, но он, безусловно, выполнил бы свою работу.

Однако, чтобы сделать это правильно, есть ли у кого-нибудь представление о том, как сделать это изящно (правильным способом)?

Спасибо!

Это было полезно?

Решение

Я не знаю точно, в чем заключается ваша проблема, поэтому я попытаюсь описать, как я работаю с svn, doxygen и Xcode.Я написал более полное руководство чем этот ответ, но, к сожалению, он на французском.

Что касается исходных файлов, структура каталогов моего проекта является плоской:исходный код отсутствует во вложенных папках (это значение по умолчанию, когда вы управляете кодом только с помощью Xcode).Мой Doxyfile содержит этот параметр:

RECURSIVE = NO

Вот так, .svn каталоги не анализируются doxygen.

Что касается наборов документов, то мой Doxyfile содержит эти настройки:

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

и мой сценарий выглядит примерно так:

# 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

С этими настройками у меня не возникало проблем, подобных тем, которые вы описываете.

Другие советы

У вас не должно быть плоской структуры каталогов в вашем проекте.Что, если вы хотите интернационализировать его?

Способ избежать этих ошибок cp - добавить пакет DocSet в список файлов, игнорируемых SVN.Если оно игнорируется, оно не версионное, а если оно не версионное, то у cp нет файлов .svn, на которые можно было бы пожаловаться.

Я использую SVN-клиент командной строки so YMMV, но вот что я сделал:

  • Сначала svn обновит вашу рабочую копию, чтобы убедиться, что вы синхронизированы с репозиторием.
  • Во-вторых, svn удаляет каталог DocSet из репозитория и фиксирует.
  • В-третьих, создайте проект для создания нового каталога DocSet (этот каталог является неверсионным).
  • Добавьте его в SVN ignore и зафиксируйте
  • Сделайте svn status, чтобы убедиться, что все в порядке.Теперь вы должны быть в состоянии работать без проблем.

Я потратил пару часов на то, чтобы разобраться в этом, но теперь я могу создавать свой проект по своему усмотрению, не будучи введенным в заблуждение этими фальшивыми ошибками, И у меня есть свой набор документов.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top