2009-07-02 39 views
0

我跟着蘋果的this guide創建doxygen文檔。我確實需要修改腳本以將變量放在引號中,因此當它用空格解析目錄時,它不會將它視爲兩個單獨的參數。Doxygen w/XCode&Subversion問題

也就是說,我最近轉而在XCODE中使用subversion,而不是使用快照的東西,它具有臭名昭着的歷史,會破壞自身並丟失歷史。我這樣做的過程是爲我的項目創建一個像目錄結構這樣的顛覆項,將其檢入到SVN中,然後檢查從主幹中退出。

我的問題是,當我創建文檔時,無論我如何修改我的doxygen配置文件(exclude_parameters等等),它第一次創建文檔的docset它都沒問題。第二次嘗試時,它會嘗試將cp命令複製到我的庫文檔目錄中,以供XCODE參考。

我試着添加到exclude_parameters .svn * .svn * * /。svn * * /。svn/*,但似乎沒有幫助或影響文檔。安裝完成後,我在文檔集上執行了一個chmod,並解決了問題,但它實際上只是掩蓋了.svn目錄仍存在於文檔中的事實。

我想也許創建一個文件夾的行動可能會做的伎倆,但我並沒有真正搞砸蘋果腳本那麼多。這將是一個黑客,但肯定會完成工作。

要做到這一點,但有沒有人有這樣一個想法如何優雅地(正確的方式)?

謝謝!

回答

3

我不確切地知道你的問題在哪裏,所以我會嘗試描述我如何使用svn,doxygen和Xcode。我寫了一個more complete guide比這個答案,但不幸的是它是法文。

關於源文件,我的項目目錄結構是扁平的:在子文件夾中沒有源代碼(當你僅用Xcode管理代碼時,這是默認的)。我的Doxyfile包含此設置:

RECURSIVE = NO 

這樣,.svn目錄沒有被doxygen的解析。

關於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 

通過這些設置,我沒有遇到像你描述的那些問題。

+0

完美!我的大多數目錄結構已經是平坦的,除了一些我認爲將默認XCode項目放入子目錄的文件。我只需要移動這些文件並設置RECURSIVE = NO就可以了。我曾嘗試更改輸入目錄以包含Classes目錄,但有關文檔構建的內容似乎忽略了這一點。無論如何,平坦的結構看起來更好。謝謝! – Gary 2009-07-09 12:50:19

0

你的項目不應該有一個扁平的目錄結構。如果你想國際化呢?

避免這些cp錯誤的方法是將DocSet包添加到SVN忽略的文件列表中。如果它被忽略,它就沒有版本控制,如果它沒有版本控制,那麼沒有.svn文件可以讓cp抱怨。

我使用的命令行SVN客戶端,以便因人而異,但這裏是我所做的:

  • 首先,SVN更新工作副本,以確保您與存儲庫同步。
  • 其次,svn從存儲庫中刪除DocSet目錄並提交。
  • 三,構建項目以生成一個新的DocSet目錄(這一個未版本化)。
  • 將其添加到SVN忽略並提交
  • 執行svn狀態以確保一切正常。你現在應該能夠沒有問題地工作。

我花了幾個小時弄清楚了這一點,但現在我可以隨意構建自己的項目,而不會被那些假錯誤所誤導,並且我有我的DocSet。