我跟着Apple的this guide创建了doxygen文档。我确实需要修改脚本以将变量放在引号中,因此当它用空格分析目录时,它不会将它视为两个单独的参数。
也就是说,我最近转而在XCODE中使用subversion,而不是使用Snapshot的东西,这些东西有着破坏自己和丢失历史的臭名昭着的历史。我这样做的过程是为我的项目创建一个类似目录结构的subversion,检查到SVN,然后检查从trunk中检出。
我的问题是,当我创建文档时,无论我如何修改我的doxygen配置文件(exclude_parameters等等),它第一次为文档创建docset时都没问题。第二次通过时,尝试使用cp命令复制到我的库文档目录时出现问题,在该目录中安装它以供XCODE引用。
我已尝试添加到exclude_parameters .svn * .svn * * / .svn * * / .svn / *但似乎没有任何帮助或影响文档。安装后我在我的docset上做了一个 chmod ,这解决了这个问题,但实际上只是掩盖了.svn目录仍然存在于文档中的事实。
我认为创建一个文件夹动作可能会有所帮助,但我并没有真正搞砸苹果脚本那么多。这将是一个黑客,但肯定会完成工作。
要做到这一点,有没有人知道如何优雅地(正确的方式)?
谢谢!
答案 0 :(得分:3)
我不确切地知道你的问题在哪里,所以我将尝试描述我如何使用svn,doxygen和Xcode。我写了more complete guide而不是这个答案,但遗憾的是它是法语。
关于源文件,我的项目目录结构是扁平的:子文件夹中没有源代码(当您仅使用Xcode管理代码时,这是默认设置)。我的Doxyfile包含以下设置:
RECURSIVE = NO
这样,doxygen不会解析.svn
个目录。
关于docsets,我的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
通过这些设置,我没有遇到像您描述的问题。
答案 1 :(得分:0)
您的项目不应该有平面目录结构。如果你想把它国际化怎么办?
避免这些cp错误的方法是将DocSet包添加到SVN忽略的文件列表中。如果它被忽略它没有版本化,如果它没有版本化,那么没有.svn文件可供cp抱怨。
我正在使用命令行SVN客户端,所以YMMV,但这就是我做的:
我花了几个小时搞清楚这一点,但现在我可以随意构建我的项目而不会被那些假错误误导而且我有我的DocSet。