|
JGlossaryJGlossary は Java クラスに対する用語集チェックツールです。 概要JGlossary は、Java クラスファイルを解析して、パッケージ名・クラス名・フィールド名・メソッド名が用語集に沿っているかどうかをチェックするツールです。現在のバージョン(0.1.0)では、 Ant のカスタムタスクとして動作します。 動作環境Ant のバージョン 1.5.3 + JDK 1.3.1_04 で動作確認しています。 主な機能
出力結果のサンプルはこちらにあります。このサンプルは、用語集に 「availablelength」 「set」 「get」 「is」 という4つの用語のみ登録した状態で、 JGlossary に付属のサンプルコードに対して用語集チェックを行ったものです。組合せエラーオプションを "on" にしてますので、「availableLength」はエラーとなりグリーンの文字で表示されています。 また、出力される HTML の下のほうに、用語集に無い単語をまとめてリストアップしてありますので、実装工程の成果物( Java クラスファイル)から用語集を作成・補完する際にも役に立ちます。 使用方法用語集ファイルの準備
チェックに使用する用語集ファイルは、単純なテキストファイルです。実際に用語集を作成しているエクセルファイルや、データベースなどからコピー&ペーストで作成して下さい。ファイルの形式は、下記のように、1行に1単語を記述するような形になります(※下記サンプル中「↓」は改行文字)。 用語集ファイルサンプル(↓は改行文字)
availablelength↓ set↓ get↓ is↓ Ant ビルドファイルの設定開発対象が下記のようなディレクトリ構成となっている場合、ビルドファイルの定義は下記のサンプルのとおりになります(左側の数字は、説明用の行番号です)。
※jglossary.jar は lib ディレクトリに格納してください。 01<?xml version="1.0" encoding="Shift_JIS" ?> 02<project name="sample builder" default="compile" basedir="." > 03 04 <!-- 環境変数への参照 --> 05 <property environment="env" /> 06 07 <!-- javac コンパイルオプション定義 --> 08 <property name="debug" value="on" /> 09 <property name="optimize" value="true" /> 10 11 <!-- ディレクトリ定義 --> 12 <property name="classes.dir" value="classes" /> 13 <property name="lib.dir" value="lib" /> 14 <property name="src.dir" value="src" /> 15 16 <!-- コンパイル時のクラスパス --> 17 <path id="compile.classpath"> 18 <pathelement path="${classes.dir}" /> 19 <fileset dir="${lib.dir}"> 20 <include name="**/*.jar" /> 21 <include name="**/*.zip" /> 22 </fileset> 23 <pathelement path="${env.CLASSPATH}" /> 24 </path> 25 26 <!-- ディレクトリを作成してビルドの準備を行います。 --> 27 <target name="prepare"> 28 <echo>ディレクトリを作成してビルドの準備を行います。</echo> 29 <mkdir dir="${classes.dir}" /> 30 </target> 31 32 <!-- 作成したディレクトリの削除を行います。 --> 33 <target name="clean"> 34 <echo>作成したディレクトリの削除を行います。</echo> 35 <delete> 36 <fileset dir="." includes="*.log" /> 37 </delete> 38 <delete includeEmptyDirs="true"> 39 <fileset dir="${classes.dir}"> 40 <include name="**/*" /> 41 </fileset> 42 </delete> 43 </target> 44 45 <!-- コンパイルを行います。 --> 46 <target name="compile" depends="prepare"> 47 <echo>コンパイルを行います。</echo> 48 <copy todir="${classes.dir}" overwrite="true"> 49 <fileset dir="${src.dir}"> 50 <exclude name="**/*.java" /> 51 <exclude name="**/package.html" /> 52 </fileset> 53 </copy> 54 <javac 55 srcdir="${src.dir}" 56 destdir="${classes.dir}" 57 debug="${debug}" 58 optimize="${optimize}" 59 deprecation="off" > 60 <classpath refid="compile.classpath" /> 61 <include name="**/*.java" /> 62 </javac> 63 </target> 64 65 <!-- Java クラスの用語集チェックを行います。 --> 66 <target name="jglossary" depends="compile"> 67 <taskdef 68 name="jglossary" 69 classpathref="compile.classpath" 70 classname="jp.javable.tool.jglossary.ant.taskdef.JGlossaryTask"/> 71 <echo>Java クラスの用語集チェックを行います。</echo> 72 <jglossary 73 glossary="glossary.txt" 74 classes="${classes.dir}" 75 packages=" 76 sample.packagea.* , 77 sample.packageb.* " 78 verbose="on"/> 79 </target> 80 81</project>
ターゲット jglossary (66行〜)の内部で、Ant の taskdef 要素(67行)を使用して JGlossary が使用できるようにしています。 taskdef 要素の name 属性(68行)は任意の名前を付けられますが、72行目の要素名に影響します(name を "test" にすると、72行目の <jglossary は <test と記述する)。 Ant の実行Ant が実行できる環境であれば、コマンドプロンプト(Windows の場合)で ant jglossary とタイプして実行します。下記は上記サンプルを C:\develop ディレクトリで実行した際の出力結果です。 C:\develop>ant jglossary Buildfile: build.xml prepare: [echo] ディレクトリを作成してビルドの準備を行います。 [mkdir] Created dir: C:\develop\classes compile: [echo] コンパイルを行います。 [copy] Copied 2 empty directories to C:\develop\classes [javac] Compiling 3 source files to C:\develop\classes jglossary: [echo] Java クラスの用語集チェックを行います。 [jglossary] 初期化処理中....完了 [jglossary] sample.packagea パッケージのチェックを行います。 [jglossary] sample.packagea.SampleClassA クラスをチェック....完了 [30ミリ秒] [jglossary] sample.packagea.SampleClassB クラスをチェック....完了 [20ミリ秒] [jglossary] sample.packageb パッケージのチェックを行います。 [jglossary] sample.packageb.SampleClassC$SampleInnerClassD クラスをチェック....完了 [20ミリ秒] [jglossary] sample.packageb.SampleClassC クラスをチェック....完了 [0ミリ秒] [jglossary] チェック結果を出力します。 [jglossary] 用語集チェックが正常に終了しました。 [jglossary] チェック結果については jglossary.html を参照して下さい。 BUILD SUCCESSFUL Total time: 3 seconds ライセンスこのソフトウェアは無料でご利用頂けます。下記の利用条件は遵守をお願い致します。 利用条件について
|