S-JIS[2007-02-21/2007-10-02] 変更履歴

Ant:javadoc

Javadocを生成するコアタスク。
(org.apache.tools.ant.taskdefs.Javadoc extends Task


属性

属性 説明 更新日
destdir="ディレクトリ" Javadocの生成先ディレクトリー名  
encoding="MS932" ソースのエンコーディング  
source="1.4" コンパイルの準拠レベル  
author="true" @authorの内容を表示する  
version="true" @versionの内容を表示する  
access="public"
public="true"
publicなクラスとメンバーのみを対象とする  
use="true" クラスとパッケージの使用方法のページを作成する  
nonavbar="false" ナビゲーションバーを作成する  
notree="true" 「階層ツリー」ページを作成しない  
nohelp="true" 「ヘルプ」ページを作成しない  
splitindex="true" 「索引」ページを1文字ずつ別ページにする  
windowtitle="タイトル" ウィンドウタイトルを指定する  
overview="ファイル" 概要ファイルの場所を指定する  
docencoding="MS932" 出力HTMLのエンコーディング 2007-09-16
charset="Shift_JIS" 出力HTMLの「<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">」に指定するキャラセット。
この属性を指定しないとmetaタグ自体が出力されないので、ブラウザーによっては別のエンコードと誤解されて文字化けすることがある。
2007-09-16

ボディー部に指定できるタグ

タグ 説明 備考
<doctitle>タイトル</doctitle> ドキュメントのタイトルを指定する。HTMLタグ使用可能  
<sourcepath path="ディレクトリ" /> ソースのある場所を指定する。 これらのタグ自身を複数指定することも出来る。
<fileset dir="ディレクトリ">〜</fileset> ソースファイルを指定する。[2007-10-02]
<package name="パッケージ.*" /> Javadocを生成するパッケージ名を指定する
<group title="タイトル" packages="パッケージ*" /> 概要ページ(トップページ)でひとまとめに(グループ化)して表示するパッケージと、そのタイトルを指定する。
タイトルはHTMLタグ使用可能
<header>タイトル</header> 上部のナビゲーションバーの右側にタイトルを表示する。HTMLタグ使用可能 ナビゲーションバーを消さないと、変な表示になるかも…
<footer>タイトル</footer> 下部のナビゲーションバーの右側にタイトルを表示する。HTMLタグ使用可能
<bottom>文章</bottom> ページの最下部に文章を表示する。HTMLタグ使用可能  
<link href="URL"/> 外部のJavadoc(標準APIとか)を指定する。[2007-02-25]
すると、そのJavadocに存在しているクラス・メソッドに関してリンクが生成される。
URL/package-list」が存在している必要がある。

HTMLタグの使用

doctitleheader等のボディー部には、HTMLタグを指定することが出来る。

ただし、直接HTMLタグを書くとxmlの一部だと認識され、エラーになる。
したがって、「<」は「&lt;」、「>」は「&gt;」に置き換えてやる必要がある。

	<header>&lt;i&gt;ヘッダー&lt;/i&gt;</header>

しかしそれは面倒なので、プロパティーファイルにHTMLタグを含めた文章を書き、それを使うという方法もある。
ただし日本語はそのままだと文字化けするので、native2asciiを使って変換しておく必要がある。これもbuild.xmlに組み込んでしまえばいいので、それほど大変ではない。

プロパティーファイル

window-title=ウィンドウタイトル
doc-title=<i>文書タイトル</i>

build.xml:

	<native2ascii src="〜" dest="プロパティーファイルのあるディレクトリー"/>
	<property file="プロパティーファイル"/>
	<javadoc windowtitle="${window-title}" 〜>
		<doctitle>${doc-title}</doctitle>
	</javadoc>

複数のディレクトリーからJavadocを生成する例。
生成されたJavadoc

build.xml:

<?xml version="1.0" encoding="Shift_JIS"?>
<project name="javadoc" default="javadoc" basedir=".">
	<target name="javadoc">
		<native2ascii src="." dest="." ext=".properties">
			<include name="docdata.txt" />
		</native2ascii>

		<property file="docdata.properties" />
		<property name="overview" location="../src/overview.html" />
		<property name="doc" location="../doc" />

		<delete dir="${doc}" />

		<javadoc destdir="${doc}"
			encoding="MS932"
			source="1.4"
			author="true"
			version="true"
			access="public"
			use="true"
			nonavbar="false"
			notree="true"
			nodeprecated="false"
			nodeprecatedlist="false"
			noindex="false"
			splitindex="true"
			nohelp="true"
			windowtitle="${window-title}"
			overview="${overview}"
			docencoding="MS932"
			charset="Shift_JIS"
		>
			<link href="http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/" />
			<doctitle>${doc-title}</doctitle>

			<sourcepath path="../../eval/src" />
			<package name="jp.hishidama.eval.*" />
			<group title="${group-eval}" packages="jp.hishidama.eval*" />

			<sourcepath path="../../bitmap/src" />
			<package name="jp.hishidama.bitmap.*" />
			<group title="${group-bitmap}" packages="jp.hishidama.bitmap*" />
		</javadoc>
	</target>
</project>

docdata.txt

window-title=ひしだまJavaライブラリー (Hishidama\'s Java library)
doc-title=ひしだまJavaライブラリー
group-eval  =四則演算(<a target="hishidama" href="http://www.ne.jp/asahi/hishidama/home/soft/java/eval.html">使用例</a>)
group-bitmap=ビットマップ(<a target="hishidama" href="http://www.ne.jp/asahi/hishidama/home/soft/java/bitmap.html">使用例</a>)

docdata.properties

native2asciiによって docdata.txtから変換 して生成するようにしている。


特定ファイルを除外する例

sourcepathの代わりにfilesetを使うと、Javadoc生成対象のファイルを個別に指定できる。[2007-10-02]
(sourcepath等と混在できる)

build.xml:

		<javadoc destdir="${doc}" 〜>
〜
			<sourcepath path="../../bitmap/src" />
			<package name="jp.hishidama.bitmap.*" />
			<group title="${group-bitmap}" packages="jp.hishidama.bitmap*" />

			<fileset dir="../../hmwin32/src" defaultexcludes="yes">
				<exclude name="**/*.html" />
				<exclude name="**/*Const.java" />
			</fileset>
			<package name="jp.hishidama.win32.*" />
			<package name="jp.hishidama.robot.*" />
			<group title="${group-win32}" packages="jp.hishidama.win32*,jp.hishidama.robot*" />
		</javadoc>

ただし、例えば「class AAA implements BBB」としていてBBBを除外した場合、
Javadoc生成中に「シンボルを見つけられません」という警告が出て
生成されるAAAのJavadocからはBBBが完全に消える。(つまり「implements BBB」がJavadoc上に表示されない)


Ant目次へ戻る / Javadocへ戻る / Eclipseへ戻る / 技術メモへ戻る
メールの送信先:ひしだま