2009-07-02 15 views
0

私はAppleのthis guideに続き、doxygenのドキュメントを作成しました。変数を引用符で囲むためにスクリプトを修正する必要がありました。そのため、スペースでディレクトリを解析するときには別々の2つの引数として扱われません。Doxygen w/XCode&Subversion Issues

私は最近、スナップショットの代わりにXCODEでサブバージョンを使用するように切り替えました。スナップショットは自分自身を壊滅させ、履歴を失うという著名な歴史を持っています。そのようなことをする私のプロセスは、私のプロジェクトのディレクトリ構造のようなSubversionを作成し、それをSVNにチェックしてから、トランクからチェックアウトをチェックすることでした。

私の問題は、doxygen設定ファイル(exclude_parametersなど...)をどのように変更しても、ドキュメンテーション用のdocsetを作成したときにドキュメントを作成したときにうまくいきます。 2回目になると、cpコマンドを使用してライブラリのドキュメントディレクトリにコピーしようとすると、XCODEが参照するためにインストールされている問題が発生します。

exclude_parameters .svn * .svn * */.svn * */.svn/*に追加しようとしましたが、何も助けにならない、またはドキュメントに影響するようです。私はchmodをインストールした後で、それが問題を解決しましたが、実際には.svnディレクトリがまだドキュメントに残っているという事実を隠しています。

私はおそらく、フォルダアクションを作成することがトリックを行うかもしれないと思ったが、私は本当にそれほど多くのリンゴスクリプトを使いこなしていない。それはハックですが、確かに仕事を完了させるでしょう。

これを正しく行うには、どのようにしてこれを正常に(正しい方法で)行うのでしょうか?

ありがとうございます!

答えて

3

あなたの問題がどこにあるのか正確には分からないので、私はsvn、doxygen、およびXcodeでどのように作業するのか説明しようとします。私はこの答えよりmore complete guideを書いていますが、残念ながらフランス語です。

私のプロジェクトディレクトリ構造はフラットです:ソースコードはサブフォルダにありません(これはXcodeのみでコードを管理する場合のデフォルトです)。私Doxyfileというこの設定が含まれています

RECURSIVE = NO 

この方法で、.svnディレクトリは、doxygenで解析されません。文書セットに関する

、私Doxyfileという、これらの設定が含まれています:私はあなたが説明しているような問題が発生していなかったこれらの設定で

# 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 

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

と私のスクリプトは次のようになります。

+0

完璧!私のディレクトリ構造のほとんどは、既定のXCodeプロジェクトがサブディレクトリに置かれていると思われるいくつかのファイルを除いて、すでにフラットでした。私はちょうどそれらのいくつかのファイルを移動し、RECURSIVE = NOを設定しなければならなかったトリックでした。クラスディレクトリを含むように入力ディレクトリを変更しようとしましたが、ドキュメントビルドに関する何かがそれを無視しているようです。とにかくフラットな構造がうまくいくようです。ありがとう! – Gary

0

プロジェクトにフラットなディレクトリ構造を使用しないでください。それを国際化したいのですが?

これらのcpエラーを回避する方法は、SVNによって無視されるファイルのリストにDocSetパッケージを追加することです。それが無視されてもバージョン管理されておらず、バージョン管理されていない場合は、cpが不平を言う.svnファイルはありません。私はYMMVので、コマンドラインSVNクライアントを使用して、しかし、ここで私がやったことだよ

  • まず、SVNリポジトリと同期していることを確認するために、作業コピーを更新します。
  • 第2に、svnはDocSetディレクトリをリポジトリから削除してコミットします。
  • 第3に、プロジェクトをビルドして新しいDocSetディレクトリを生成します(これはバージョン管理されていません)。
  • これをSVNに追加して無視してコミットします
  • すべてが正常であることを確認するには、svn statusを実行します。これで問題なく作業できるはずです。

私はこれを理解するのに数時間を費やしましたが、私は自分のプロジェクトを偽のエラーに惑わされることなく自由自在に構築でき、私はDocSetを持っています。