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

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

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

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

我想也许创建一个文件夹操作可能会成功,但我还没有真正搞乱苹果脚本那么多。这将是一个黑客,但肯定会完成工作。

为了正确地做到这一点,有谁知道如何优雅地做到这一点(正确的方法)?

谢谢!

有帮助吗?

解决方案

我不知道你的问题到底出在哪里,所以我将尝试描述我如何使用 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 忽略的文件列表中。如果它被忽略,那么它就没有版本控制,如果没有版本控制,就没有 .svn 文件可供 cp 抱怨。

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

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

我花了几个小时才弄清楚这一点,但现在我可以随意构建我的项目,而不会被那些假错误误导,而且我有了我的 DocSet。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top