<?xml version="1.0" encoding="Shift_JIS"?>
<project name="項目名称" basedir="." default="compile">
<description >項目名称のビルド、APIドキュメント生成、JARファイル作成を行う。</description>
<!-- ##### プロパティ定義 ##### -->
<!-- ディレクトリ -->
<property name="dir.src" value="src"/>
<property name="dir.lib" value="lib"/>
<property name="dir.javadoc" value="docs/api"/>
<property name="dir.bin" value="bin"/>
<property name="dir.web.plan" value="web/plan"/>
<property name="dir.web.ref" value="web/reference"/>
<property name="dir.dist" value="dist"/>
<!-- ファイル名 -->
<property name="file.lib1" value="sax.jar"/>
<property name="file.lib3" value="jaxp-api.jar"/>
<property name="file.lib5" value="classes12.zip"/>
<property name="file.lib6" value="nls_charset12.zip"/>
<property name="file.lib7" value="jctableK.jar"/>
<property name="file.lib8" value="Elxrt.jar"/>
<property name="file.lib9" value="license.jar"/>
<property name="file.jar.plan" value="${dir.lib}/STKPlan.jar"/>
<property name="file.prop.plan" value="stk_build.properties"/>
<property name="file.mfest.plan" value="STKPlan.MF"/>
<property name="file.jar.ref" value="${dir.lib}/STKReference.jar"/>
<property name="file.prop.ref" value="stk.properties"/>
<property name="file.mfest.ref" value="STKReference.MF"/>
<property name="file.war.plan" value="planeditor.war"/>
<property name="file.war.ref" value="reference.war"/>
<property name="name.packages" value="jp.co.gss.stk.*"/>
<property name="file.keystore" value="${dir.lib}/stkKeyStore"/>
<!-- ターゲット定義 -->
<!-- 全て実行 -->
<target name="all" depends="clean,compile,jar,sign-jars,war" description="クリーン、コンパイル、JAR、WAR">
<echo>all:クリーン、コンパイル、JAR、WAR</echo>
</target>
<!-- クラスの削除 -->
<target name="clean" description="クラス削除">
<echo>clean:クラス削除</echo>
<delete dir="${dir.bin}"/>
<delete file="${file.jar.plan}"></delete>
<delete file="${file.jar.ref}"></delete>
</target>
<!-- コンパイル -->
<target name="compile" description="コンパイル">
<echo>compile:コンパイル</echo>
<mkdir dir="${dir.bin}"/>
<javac srcdir="${dir.src}"
destdir="${dir.bin}"
classpath="${dir.lib}/${file.lib1};${dir.lib}/${file.lib2};${dir.lib}/${file.lib3};${dir.lib}/${file.lib5};${dir.lib}/${file.lib6};${dir.lib}/${file.lib7};${dir.lib}/${file.lib8};${dir.lib}/${file.lib9};"
debug="ON"
/>
</target>
<!-- APIドキュメントの生成 -->
<target name="javadoc" description="APIドキュメント生成">
<echo>javadoc:APIドキュメント生成</echo>
<mkdir dir="${dir.javadoc}"/>
<javadoc packagenames="${name.packages}"
destdir="${dir.javadoc}"
sourcepath="${dir.src}"
/>
</target>
<!-- JARファイルの作成 -->
<target name="jar" depends="compile" description="JARファイル生成">
<echo>jar:JARファイル生成</echo>
<delete file="${file.jar.plan}"></delete>
<delete file="${file.jar.ref}"></delete>
<copy file="${dir.src}/${file.prop.plan}" tofile="${dir.bin}/${file.prop.plan}"/>
<jar jarfile="${file.jar.plan}"
basedir="${dir.bin}"
excludes="**/reference/*"
manifest="${dir.src}/${file.mfest.plan}"
/>
<delete file="${dir.bin}/${file.prop.plan}"></delete>
<copy file="${dir.src}/${file.prop.ref}" tofile="${dir.bin}/${file.prop.ref}"/>
<jar jarfile="${file.jar.ref}"
basedir="${dir.bin}"
excludes="**/plan/*"
manifest="${dir.src}/${file.mfest.ref}"
/>
<delete file="${dir.bin}/${file.prop.ref}"></delete>
</target>
<!-- JARファイルへの署名 -->
<target name="sign-jars" depends="jar" description="JARファイルへの署名">
<echo>sign-jars:JARファイルへの署名</echo>
<echo level="info">Signing JARS...</echo>
<signjar jar="${file.jar.plan}" keystore="${file.keystore}" alias="myself" storepass="password"/>
<signjar jar="${file.jar.ref}" keystore="${file.keystore}" alias="myself" storepass="password"/>
<signjar jar="${dir.lib}/${file.lib1}" keystore="${file.keystore}" alias="myself" storepass="password"/>
<signjar jar="${dir.lib}/${file.lib3}" keystore="${file.keystore}" alias="myself" storepass="password"/>
<signjar jar="${dir.lib}/${file.lib5}" keystore="${file.keystore}" alias="myself" storepass="password"/>
<signjar jar="${dir.lib}/${file.lib6}" keystore="${file.keystore}" alias="myself" storepass="password"/>
<signjar jar="${dir.lib}/${file.lib7}" keystore="${file.keystore}" alias="myself" storepass="password"/>
<signjar jar="${dir.lib}/${file.lib8}" keystore="${file.keystore}" alias="myself" storepass="password"/>
<signjar jar="${dir.lib}/${file.lib9}" keystore="${file.keystore}" alias="myself" storepass="password"/>
</target>
<!-- WARファイルの作成 -->
<target name="war" depends="sign-jars" description="WARファイル作成">
<echo>war:WARファイル作成</echo>
<delete dir="${dir.dist}"/>
<mkdir dir="${dir.dist}"/>
<war destfile="${dir.dist}/${file.war.plan}" webxml="${dir.web.plan}/web.xml" compress="true">
<fileset dir="${dir.web.plan}">
<include name="**/*.html"/>
<include name="**/*.jnlp"/>
<exclude name="**/*.xml"/>
</fileset>
<fileset dir="${dir.lib}">
<filename name="**/*.*"/>
</fileset>
</war>
<war destfile="${dir.dist}/${file.war.ref}" webxml="${dir.web.ref}/web.xml" compress="true">
<fileset dir="${dir.web.ref}">
<include name="**/*.html"/>
<include name="**/*.jnlp"/>
<exclude name="**/*.xml"/>
</fileset>
<fileset dir="${dir.lib}">
<filename name="**/*.*"/>
</fileset>
</war>
</target>
</project>