HeaderDoc について

TopPage

OCUnit

HeaderDoc

GNUstep

Xcode

EmacsWiki


PageList

ChangeLog

doxygenがObjective-Cに対応した.今後doxygenに集約するかもしれない. と,思ったら次期HeaderDocは期待が持てそう http://developer.apple.com/darwin/projects/headerdoc

新たにサポートする言語として

  • java
  • Java Script
  • Perl
  • PHP
  • Pascal
  • シェル・スクリプト をサポートするそうだ. 出力形式は従来のHTMLからman形式もサポートする.タグを使わないコメント表記,コードカラーリング,Indexページのテンプレートをサポートするそうだ. ADC NEWS #388より
HeaderDoc とは
配布元のドキュメントの翻訳
XcodeでHeaderDocを使う
シェル・スクリプト・ビルド・フェーズだけを使う方法
ターゲット・ルールとシェル・スクリプト・ビルド・フェーズの併用
HeaderDocコメントを入れるスクリプト

HeaderDoc とは

HeaderDocはC/C++やObjective-CのヘッダファイルからHTML形式のドキュメントを生成するソフトウエアです.Darwinと一緒にここで公開されています.Developer Toolをインストールすると一緒にインストールされるようです.

配布元のドキュメントの翻訳

HeaderDocのページににドキュメントを翻訳しました.元のドキュメントではスクリプト名がheaderDoc2HTML.pl,gatherHeaderDoc.plとなっているがインストールしたところ、それぞれ小文字になって、headerdoc2html,gatherheaderdocとなってたので注意する事.

また翻訳の精度はあまりよくないが,自分用のメモなのでツールそのものが使えればよしとする.

XcodeでHeaderDocを使う

HeaderDocをXcodeから使う.

シェル・スクリプト・ビルド・フェーズだけを使う方法

デプロイメント・ビルド毎にHeaderDocを実行させる../apiDocにHeaderDoc書類をまとめる.

  1. ターゲットにシェル・スクリプト・ビルド・フェーズを追加する
    メニューから プロジェクト > 新規ビルド・フェーズ > 新規シェル・スクリプト・ビルドフェーズを選択.
  2. スクリプトを編集 シェル・スクリプト・ファイルを選択して,メニューから プロジェクト > 情報をみるを選択 スクリプト項目に以下のように入力する.
    mkdir -p apiDoc
    headerdoc2html -o apiDoc *.h
    gatherheaderdoc apiDoc
    
    "デプロイメント・ビルド中にのみスクリプトを実行する"にチェックを入れる.

デベロップメント・ビルド毎にHeaderDocを起動するのはこの方法では時間が無駄になるので次の項目を参照の事.

ターゲット・ルールとシェル・スクリプト・ビルド・フェーズの併用

  1. ターゲット・ルールの追加 メニューから,アクティブなターゲットを編集 > ルール・タブを選択 >
  2. ルールの追加と編集 header file毎にHeaderDocを実行したいが,"Interfacer file"を選んでも実行されない.仕方ないので"C Source files"をプロセスに選び,スクリプト中で拡張子を".h"と指定する事で擬似的にheader file毎の処理を行っている.

プロセス: C Source files 使用:カスタムスクリプト

mkdir -p apiDoc
headerdoc2html -o apiDoc $(INPUT_FILE_BASE).h
出力ファイル:
apiDoc/$(INPUT_FILE_BASE)/index.html
  1. TOCを作るためにシェル・スクリプト・ビルド・フェーズを使う TOCの生成をルール化する方法が思いつかなかった.
    gatherheaderdoc apiDoc
    
    これだけ書いてお茶を濁す.

HeaderDocコメントを入れるスクリプト

XcodeのスクリプトメニューのサンプルにHeaderDocを挿入するスクリプトがある.便利に使わせていただく事にする.

ショートカットの付け方は,Using Scripts To Customize Xcodeを参考に.

ショートカットを以下の様に設定している

keyaction
ctrl-cmd-h@Headerテンプレートの挿入
ctrl-cmd-c@classテンプレートの挿入
ctrl-cmd-g@categoryテンプレートの挿入
ctrl-cmd-p@protocolテンプレートの挿入
ctrl-cmd-m@methodテンプレートの挿入
ctrl-cmd-f@functionテンプレートの挿入
ctrl-cmd-t@typedefテンプレートの挿入
ctrl-cmd-s@structテンプレートの挿入
ctrl-cmd-e@enumテンプレートの挿入
ctrl-cmd-o@constテンプレートの挿入
ctrl-cmd-d@defineテンプレートの挿入
ctrl-cmd-vこのファイルをHeaderDocでプレビュー

Updated: 2004-03-10 MindTools