0

我按照Apple 的这个指南创建了 doxygen 文档。我确实需要修改脚本以将变量放在引号中,因此当它解析带有空格的目录时,它不会将其视为两个单独的参数。

也就是说,我最近转而在 XCODE 中使用 subversion,而不是使用 Snapshot 的东西,它有一个臭名昭著的历史,会破坏自己并丢失你的历史。我这样做的过程是为我的项目创建一个类似颠覆的目录结构,将其签入 SVN,然后从主干中签出。

我的问题是,当我创建文档时,无论我如何修改我的 doxygen 配置文件(exclude_parameters 等),它第一次为文档创建文档集都很好。第二次通过时,尝试使用 cp 命令复制到我的库文档目录时遇到问题,该目录安装它以供 XCODE 参考。

我尝试添加到 exclude_parameters .svn *.svn* */.svn* */.svn/* 但似乎没有任何帮助或影响文档。安装后我在我的 docset 上做了一个chmod,这解决了这个问题,但它实际上只是掩盖了 .svn 目录仍然存在于文档中的事实。

我想也许创建一个文件夹操作可以解决问题,但我并没有真正搞砸苹果脚本。这将是一个黑客,但肯定会完成工作。

但是,要正确地做到这一点,有没有人知道如何优雅地做到这一点(正确的方式)?

谢谢!

4

2 回答 2

3

我不知道你的问题到底出在哪里,所以我将尝试描述我如何使用 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

使用这些设置,我没有遇到您描述的问题。

于 2009-07-09T08:26:05.143 回答
0

您的项目不应该有一个平面目录结构。如果要国际化怎么办?

避免这些 cp 错误的方法是将 DocSet 包添加到 SVN 忽略的文件列表中。如果它被忽略,则没有版本控制,如果没有版本控制,则没有 .svn 文件可供 cp 抱怨。

我正在使用命令行 SVN 客户端所以 YMMV,但这是我所做的:

  • 首先, svn 更新您的工作副本以确保您与存储库同步。
  • 其次,svn 从存储库中删除 DocSet 目录并提交。
  • 三、构建项目生成一个新的DocSet目录(这个是无版本的)。
  • 将其添加到 SVN 忽略并提交
  • 执行 svn status 以确保一切正常。您现在应该可以毫无问题地工作了。

我花了几个小时来解决这个问题,但现在我可以随意构建我的项目而不会被那些虚假错误误导,并且我有我的 DocSet。

于 2009-08-13T13:45:53.370 回答