<?xml version="1.0" encoding="SHIFT_JIS" ?>
<project name="hibernate-build" default="codegen" basedir="." >
    <property name="source.root" value="src"/>
    <property name="class.root" value="classes"/>
    <property name="lib.dir" value="build\lib"/>
    <property name="data.dir" value="data"/>

    <!-- コンパイルと実行のためのクラスパス -->
    <path id="project.class.path">
        <pathelement location="${class.root}" />
        <fileset dir="${lib.dir}" includes="*.jar" />
    </path>

    <!-- Javaファイル生成 -->
    <target name="codegen" description="Javaコード生成">
        <!-- コード生成方法 -->
        <taskdef name="hbm2java" 
                classname="net.sf.hibernate.tool.hbm2java.Hbm2JavaTask"
                classpathref="project.class.path" />

        <hbm2java output="${source.root}" >
            <fileset dir="${source.root}">
                <include name="**/*.hbm.xml" />
            </fileset>
        </hbm2java>
    </target>

    <target name="prepare" depends="codegen" description="ビルド構造を設定">
        <mkdir dir="${class.root}" />

        <copy todir="${class.root}">
            <fileset dir="${source.root}">
                <include name="**/*.properties" />
                <include name="**/*.hbm.xml" />
                <include name="**/*.cfg.xml" />
            </fileset>
        </copy>
    </target>

    <target name="compile" depends="prepare" description="コンパイル">
        <javac srcdir="${source.root}"
               destdir="${class.root}"
               debug="on"
               optimize="off"
               deprecation="on">
            <classpath refid="project.class.path" />
        </javac>
    </target>

    <!-- DDL生成 -->
    <target name="schema" depends="compile" description="スキーマ生成">
        <mkdir dir="${data.dir}" />

        <!-- スキーマ生成方法 -->
        <taskdef name="schemaexport" 
                classname="net.sf.hibernate.tool.hbm2ddl.SchemaExportTask"
                classpathref="project.class.path" />

        <schemaexport properties="${class.root}\hibernate.properties"
                      output="${data.dir}\schema-export.sql"
                      quiet="no" text="yes" drop="no" delimiter=";">
            <fileset dir="${class.root}">
                <include name="**/*.hbm.xml" />
            </fileset>
        </schemaexport>
    </target>

</project>