Author: stliu
Date: 2011-04-08 05:21:04 -0400 (Fri, 08 Apr 2011)
New Revision: 20932
Removed:
search/branches/Branch_3_0_1_GA_CP/common-build.xml
Modified:
search/branches/Branch_3_0_1_GA_CP/build.xml
Log:
JBPAPP-6278 update build scripts of hem and hsearch
Modified: search/branches/Branch_3_0_1_GA_CP/build.xml
===================================================================
--- search/branches/Branch_3_0_1_GA_CP/build.xml 2011-04-08 07:43:09 UTC (rev 20931)
+++ search/branches/Branch_3_0_1_GA_CP/build.xml 2011-04-08 09:21:04 UTC (rev 20932)
@@ -6,11 +6,10 @@
-->
-<project name="Hibernate Search" default="dist"
basedir="."
- xmlns:ivy="antlib:fr.jayasoft.ivy.ant">
+<project name="Hibernate Search" default="jar"
basedir=".">
- <!-- Give user a chance to override without editing this file
- (and without typing -D each time it compiles it) -->
+ <!-- Give user a chance to override without editing this file
+ (and without typing -D each time it compiles it) -->
<property file="build.properties"/>
<property file="${user.home}/.ant.properties"/>
@@ -19,98 +18,115 @@
<property name="name" value="hibernate-search"/>
<property name="version" value="3.0.1.GA.CP01"/>
<property name="javadoc.packagenames"
value="org.hibernate.search.*"/>
+ <property name="jdbc.dir" value="jdbc"/>
<property name="copy.test" value="true"/>
+ <property name="src.dir" location="src/java"/>
+ <property name="test.dir" location="src/test"/>
+ <property name="lib.dir" location="lib"/>
+ <property name="build.dir" location="build"/>
+ <property name="classes.dir"
location="${build.dir}/classes"/>
+ <property name="testclasses.dir"
location="${build.dir}/testclasses"/>
+ <property name="doc.dir" location="doc"/>
+ <property name="doc.api.dir" location="${doc.dir}/api"/>
+ <property name="dist.doc.dir" location="${build.dir}/doc"/>
+ <property name="dist.api.dir"
location="${dist.doc.dir}/api"/>
+ <property name="jar.name" value="${name}"/>
+ <property name="jar.file.name"
value="${build.dir}/${jar.name}.jar"/>
+ <property name="jartest.file.name"
value="${build.dir}/${jar.name}-tests.jar"/>
+ <property name="javadoc"
value="http://java.sun.com/j2se/1.5.0/docs/api"/>
+ <property name="javac.debug" value="on"/>
+ <property name="javac.optimize" value="off"/>
<property name="javac.source" value="1.5"/>
<property name="javac.target" value="1.5"/>
- <property name="jdbc.dir" value="jdbc"/>
- <property name="common.dir" value="${basedir}"/>
- <property name="ivy.dep.dir" value="${basedir}/build/lib"
/>
- <!-- ivy load -->
- <property name="ivy.jar.dir" value="${basedir}/ivy" />
- <property name="ivy.conf.dir" value="${basedir}" />
- <path id="ivy.lib.path">
- <fileset dir="${ivy.jar.dir}" includes="*.jar"/>
- </path>
- <taskdef resource="fr/jayasoft/ivy/ant/antlib.xml"
- uri="antlib:fr.jayasoft.ivy.ant"
classpathref="ivy.lib.path"/>
+ <property name="build.testresources.dir"
value="${build.dir}/testresources"/>
+ <property name="testresources.dir"
value="${basedir}/src/test-resources"/>
- <import file="${common.dir}/common-build.xml"/>
+ <property name="hibernate-core.home" location="../core"/>
+ <property name="hibernate-core.jar"
location="${hibernate-core.home}/build/hibernate3.jar"/>
+ <property name="hibernate-core.lib.dir"
location="${hibernate-core.home}/lib"/>
+ <property name="resources.dir" value="src/resources"/>
+ <property name="build.temp.dir" value="${build.dir}/temp"/>
-
- <property name="build.testresources.dir"
value="${build.dir}/testresources"/>
- <property name="testresources.dir"
value="${basedir}/src/test-resources"/>
-
- <!-- override order for JBossXB to bootstrap properly -->
- <path id="junit.classpath">
- <fileset dir="${lib.dir}">
- <include name="*.jar"/>
- </fileset>
- <pathelement path="${classes.dir}"/>
- <pathelement path="${testclasses.dir}"/>
- <path refid="junit.moduleclasspath"/>
- <path refid="lib.class.path"/>
- </path>
- <!-- override order for JBossXB to bootstrap properly -->
- <path id="lib.class.path">
- <path location="${hibernate-core.jar}"></path>
- <fileset dir="${hibernate-core.lib.dir}">
- <include name="*.jar"/>
- <exclude name="xml-apis.jar"/>
- <exclude name="xerces*.jar"/>
- </fileset>
- <fileset dir="${lib.dir}">
- <include name="*.jar"/>
- </fileset>
- <path refid="lib.moduleclass.path"/>
- </path>
-
-
- <path id="lib.moduleclass.path">
- <fileset dir="${ivy.dep.dir}/core">
+ <!-- override order for JBossXB to bootstrap properly -->
+ <path id="junit.classpath">
+ <fileset dir="${lib.dir}">
<include name="*.jar"/>
</fileset>
- </path>
+ <pathelement path="${classes.dir}"/>
+ <pathelement path="${testclasses.dir}"/>
+ <path refid="junit.moduleclasspath"/>
+ <path refid="lib.class.path"/>
+ </path>
+ <!-- override order for JBossXB to bootstrap properly -->
+ <path id="lib.class.path">
+ <path location="${hibernate-core.jar}"></path>
+ <fileset dir="${hibernate-core.lib.dir}">
+ <include name="*.jar"/>
+ <exclude name="xml-apis.jar"/>
+ <exclude name="xerces*.jar"/>
+ <exclude name="ant-*.jar"/>
+ </fileset>
+ <fileset dir="${lib.dir}">
+ <include name="*.jar"/>
+ </fileset>
+ </path>
<path id="junit.moduleclasspath">
- <!-- order matters for JBoss XB proper bootstrap -->
- <fileset dir="${lib.dir}/test">
+ <!-- order matters for JBoss XB proper bootstrap -->
+ <fileset dir="${lib.dir}/test">
<include name="*.jar"/>
<include name="*.zip"/>
</fileset>
- <pathelement location="${src.dir}"/>
+ <pathelement location="${src.dir}"/>
<pathelement location="${test.dir}"/>
- <fileset dir="${ivy.dep.dir}/test">
+ <fileset dir="${jdbc.dir}">
<include name="*.jar"/>
- </fileset>
- <fileset dir="${jdbc.dir}">
- <include name="*.jar"/>
<include name="*.zip"/>
</fileset>
</path>
+ <patternset id="support.files">
+ <include name="**/*.jpg"/>
+ <include name="**/*.gif"/>
+ <include name="**/*.dtd"/>
+ <include name="**/*.xsd"/>
+ <include name="**/*.xml"/>
+ <include name="**/*.xslt"/>
- <target name="init">
- <antcall target="common-build.init"/>
- <tstamp>
- <format property="now" pattern="yyyyMMddhhmmss"/>
- </tstamp>
- <mkdir dir="${ivy.dep.dir}/core"/>
- <mkdir dir="${ivy.dep.dir}/test"/>
- <ivy:configure file="${ivy.jar.dir}/ivyconf.xml" />
- <mkdir dir="${lib.dir}/test"/>
- <mkdir dir="${build.testresources.dir}"/>
- </target>
+ <!-- exclude everything we don't want in the jar -->
+ <exclude name="${build.dir}/**/*"/>
+ <exclude name="${doc.dir}/**/*"/>
+ <exclude name="classes/**/*"/>
+ <exclude name="build.xml"/>
+ <exclude name="**/*.properties"/>
+ <exclude name="**/*.ccf"/>
+ <exclude name="**/*.cfg.xml"/>
+ <exclude name="**/ehcache.xml"/>
+ </patternset>
+ <target name="init">
+ <tstamp>
+ <format property="subversion" pattern="yyyy-MM-dd
hh:mm:ss"/>
+ </tstamp>
+ <echo message="Build ${Name}-${version} (${subversion})"/>
+ <mkdir dir="${classes.dir}"/>
+ <mkdir dir="${testclasses.dir}"/>
+ <mkdir dir="${build.testresources.dir}"/>
+ <copy todir="${classes.dir}">
+ <fileset dir="${src.dir}">
+ <patternset refid="support.files"/>
+ </fileset>
+ </copy>
- <target name="get.deps.core" depends="init"
description="retrieve the core dependencies">
- <ivy:resolve conf="core" />
- <ivy:retrieve pattern="${ivy.dep.dir}/core/[artifact].[ext]"
conf="core" />
- </target>
+ <copy todir="${build.dir}">
+ <fileset dir=".">
+ <include name="readme.txt"/>
+ <include name="lgpl.txt"/>
+ </fileset>
+ </copy>
+ <available file="${hibernate-core.jar}" type="file"
property="hibernate-core.jar.available"/>
+ <fail unless="hibernate-core.jar.available" message="Cannot locate
hibernate-core.jar: ${hibernate-core.jar}"/>
+ </target>
- <target name="compile" depends="init,get.deps.core"
description="Compile the Java source code">
- <available
- classname="org.eclipse.core.launcher.Main"
- property="build.compiler"
- value="org.eclipse.jdt.core.JDTCompilerAdapter"
- classpath="${java.class.path}"/>
+ <target name="compile" depends="init" description="Compile
the Java source code">
<javac
srcdir="${src.dir}"
destdir="${classes.dir}"
@@ -118,8 +134,8 @@
debug="${javac.debug}"
optimize="${javac.optimize}"
nowarn="on"
- source="${javac.source}"
- target="${javac.target}">
+ source="${javac.source}"
+ target="${javac.target}">
<src path="${src.dir}"/>
</javac>
<copy todir="${classes.dir}">
@@ -129,165 +145,138 @@
</fileset>
</copy>
</target>
-
- <target name="get.deps.test" depends="init"
description="retrieve the test dependencies">
- <ivy:resolve conf="test" />
- <ivy:retrieve pattern="${ivy.dep.dir}/test/[artifact].[ext]"
conf="test" />
- </target>
-
- <target name="compiletest"
depends="init,get.deps.test,compile" description="Compile the
tests">
- <available
- classname="org.eclipse.core.launcher.Main"
- property="build.compiler"
- value="org.eclipse.jdt.core.JDTCompilerAdapter"
- classpath="${java.class.path}"/>
+ <target name="compiletest" depends="init,compile"
description="Compile the tests">
<javac
+ srcdir="${test.dir}"
destdir="${testclasses.dir}"
classpathref="junit.classpath"
debug="${javac.debug}"
optimize="${javac.optimize}"
nowarn="on"
- source="${javac.source}"
- target="${javac.target}">
- <src refid="testsrc.path"/>
+ source="${javac.source}"
+ target="${javac.target}">
+ <classpath>
+ <path refid="lib.class.path"/>
+ <pathelement path="${classes.dir}"/>
+ </classpath>
</javac>
</target>
- <target name="prepare-test-resources"
depends="compiletest">
- <copy todir="${build.testresources.dir}">
- <fileset dir="${testresources.dir}">
- <include name="**/*.*"/>
- </fileset>
- </copy>
- <mkdir dir="${build.testresources.dir}/jars"/>
- <jar filesetmanifest="merge"
jarfile="${build.testresources.dir}/jars/jms-slave.jar" >
- <fileset dir="${testclasses.dir}">
- <include
name="org/hibernate/search/test/jms/slave/**.*"/>
- </fileset>
- </jar>
- <jar filesetmanifest="merge"
jarfile="${build.testresources.dir}/jars/jms-master.jar" >
- <fileset dir="${testclasses.dir}">
- <include
name="org/hibernate/search/test/jms/master/**.*"/>
- </fileset>
- </jar>
- </target>
+ <target name="prepare-test-resources" depends="compiletest">
+ <copy todir="${build.testresources.dir}">
+ <fileset dir="${testresources.dir}">
+ <include name="**/*.*"/>
+ </fileset>
+ </copy>
+ <mkdir dir="${build.testresources.dir}/jars"/>
+ <jar filesetmanifest="merge"
jarfile="${build.testresources.dir}/jars/jms-slave.jar">
+ <fileset dir="${testclasses.dir}">
+ <include name="org/hibernate/search/test/jms/slave/**.*"/>
+ </fileset>
+ </jar>
+ <jar filesetmanifest="merge"
jarfile="${build.testresources.dir}/jars/jms-master.jar">
+ <fileset dir="${testclasses.dir}">
+ <include name="org/hibernate/search/test/jms/master/**.*"/>
+ </fileset>
+ </jar>
+ </target>
+ <target name="junitreport" depends="junit">
+ <taskdef name="junitreport"
classname="org.apache.tools.ant.taskdefs.optional.junit.XMLResultAggregator">
+ <classpath>
+ <fileset dir="${hibernate-core.lib.dir}">
+ <include name="junit-*.jar"/>
+ <include name="ant-junit-*.jar"/>
+ </fileset>
+ </classpath>
+ </taskdef>
+ <junitreport todir="${build.dir}/test_output">
+ <fileset dir="${build.dir}/test_output">
+ <include name="TEST-*.xml"/>
+ </fileset>
+ <report format="frames" todir="${build.dir}/test_output"/>
+ </junitreport>
+ </target>
+ <target name="junit" depends="compiletest,
prepare-test-resources">
+ <mkdir dir="${build.dir}/test_output"/>
+ <junit forkmode="once" printsummary="yes"
haltonfailure="yes">
+ <classpath>
+ <fileset dir="${jdbc.dir}">
+ <include name="**/*.jar"/>
+ <include name="**/*.zip"/>
+ </fileset>
+ <path path="${build.testresources.dir}"/>
+ <path refid="junit.classpath"/>
+ <path refid="lib.class.path"/>
+ <pathelement path="${classes.dir}"/>
+ <dirset dir="${testclasses.dir}">
+ <exclude name="**/pack/**.*"/>
+ </dirset>
+ <pathelement path="${src.dir}"/>
+ <pathelement path="${test.dir}"/>
+ </classpath>
+ <formatter type="plain"/>
+ <formatter type="xml"/>
+ <batchtest fork="yes" todir="${build.dir}/test_output"
haltonfailure="no">
+ <fileset dir="${testclasses.dir}">
+ <include name="**/*Test.class"/>
+ </fileset>
+ </batchtest>
+ </junit>
+ </target>
- <target name="junit" depends="compiletest,
prepare-test-resources">
- <mkdir dir="test_output"/>
- <junit forkmode="once" printsummary="yes"
haltonfailure="yes">
- <classpath>
- <path path="${build.testresources.dir}"/>
- <path refid="junit.classpath"/>
-
- <fileset dir="${jdbc.dir}">
- <include name="**/*.jar"/>
- <include name="**/*.zip"/>
- </fileset>
- </classpath>
- <formatter type="plain"/>
- <formatter type="xml"/>
- <batchtest fork="yes" todir="test_output"
haltonfailure="no">
- <fileset refid="junit.batchtestset"/>
- </batchtest>
- </junit>
- </target>
-
<!-- Run a single unit test. -->
<target name="junitsingle" depends="compiletest"
description="Run a single test suite (requires testname and jdbc.driver
properties)">
- <mkdir dir="test_output"/>
+ <mkdir dir="${build.dir}/test_output"/>
<junit printsummary="yes" fork="yes"
haltonfailure="yes">
<classpath>
- <path path="${build.testresources.dir}"/>
- <path refid="junit.classpath"/>
+ <path path="${build.testresources.dir}"/>
+ <path refid="junit.classpath"/>
- <fileset dir="${jdbc.dir}">
- <include name="**/*.jar"/>
- <include name="**/*.zip"/>
- </fileset>
- </classpath>
- <formatter type="plain"/>
+ <fileset dir="${jdbc.dir}">
+ <include name="**/*.jar"/>
+ <include name="**/*.zip"/>
+ </fileset>
+ </classpath>
+ <formatter type="plain"/>
<formatter type="xml"/>
- <test fork="yes" todir="test_output"
haltonfailure="no" name="${testname}"/>
+ <test fork="yes" todir="${build.dir}/test_output"
haltonfailure="no" name="${testname}"/>
</junit>
</target>
+ <target name="clean" description="Cleans up build and dist
directories">
+ <delete dir="${build.dir}"/>
+ <delete dir="${dist.target.dir}"/>
+ </target>
<target name="jar" depends="compile" description="Build the
distribution .jar file">
<mkdir dir="${classes.dir}/META-INF"/>
<manifest file="${classes.dir}/META-INF/MANIFEST.MF">
<attribute name="Implementation-Title" value="${Name}"/>
<attribute name="Implementation-Version"
value="${version}"/>
- <attribute name="Implementation-Vendor"
value="hibernate.org"/>
- <attribute name="Implementation-Vendor-Id"
value="hibernate.org"/>
- <attribute name="Implementation-URL"
value="http://search.hibernate.org"/>
+ <attribute name="Implementation-Vendor"
value="hibernate.org"/>
+ <attribute name="Implementation-Vendor-Id"
value="hibernate.org"/>
+ <attribute name="Implementation-URL"
value="http://search.hibernate.org"/>
</manifest>
- <antcall target="common-build.jar"/>
- <ivy:resolve conf="core"/>
- <ivy:publish artifactspattern="${dist.dir}/[artifact].[ext]"
- resolver="local"
- pubrevision="${version}"
- pubdate="${now}"
- status="integration"
- />
- </target>
-
- <!-- Some of this can probably be moved to common-build... -->
- <target name="dist"
depends="get.deps.core,get.deps.test,jar,jar,javadoc,copysource,copytest,copylib,extras"
- description="Build everything">
-
- <ant inheritall="false" dir="${basedir}/doc/reference"/>
- <copy todir="${dist.dir}/doc/reference" failonerror="false">
- <fileset dir="${basedir}/doc/reference/build">
- <include name="**/*.*"/>
- </fileset>
- </copy>
-
- <copy todir="${dist.dir}" failonerror="false">
- <fileset dir="${common.dir}">
- <include name="common-build.xml"/>
- </fileset>
- </copy>
-
- <copy todir="${dist.dir}/test-resources"
failonerror="false">
- <fileset dir="${testresources.dir}">
- <include name="**/*.*"/>
- </fileset>
- </copy>
- <copy todir="${dist.dir}/ivy" failonerror="false">
- <fileset dir="${ivy.jar.dir}">
- <include name="**/*.*"/>
- </fileset>
- </copy>
-
- <!-- copy dependencies -->
- <copy todir="${dist.lib.dir}" failonerror="false">
- <!-- fileset file="${jpa-api.jar}"/>
- <fileset file="${commons-annotations.jar}"/ -->
- <fileset dir="${ivy.dep.dir}/core">
- <include name="*.jar"/>
- </fileset>
- </copy>
- <mkdir dir="${dist.lib.dir}/test"/>
- <copy todir="${dist.lib.dir}/test"
failonerror="false">
- <fileset dir="${ivy.dep.dir}/test">
- <include name="*.jar"/>
- </fileset>
- </copy>
- <copy todir="${dist.lib.dir}/test"
failonerror="false">
- <fileset file="${lib.dir}/test/*.jar"/>
- </copy>
-
- <copy file="${basedir}/build.properties.dist"
tofile="${dist.dir}/build.properties" failonerror="false">
- </copy>
- <antcall target="common-build.dist"/>
+ <mkdir dir="${build.dir}"/>
+ <jar filesetmanifest="merge" jarfile="${jar.file.name}"
basedir="${classes.dir}"/>
</target>
-
- <target name="zip-dist" description="zip the dist">
- <zip zipfile="${dist.dir}-${version}.zip">
- <zipfileset prefix="${name}-${version}" dir="${dist.dir}"/>
- </zip>
- <tar compression="gzip"
tarfile="${dist.dir}-${version}.tar.gz">
- <tarfileset prefix="${name}-${version}" dir="${dist.dir}"/>
- </tar>
+ <target name="javadoc" description="Compile the Javadoc API
documentation to dist dir">
+ <mkdir dir="${dist.api.dir}"/>
+ <javadoc
+ packagenames="${javadoc.packagenames}"
+ classpathref="lib.class.path"
+ destdir="${dist.api.dir}"
+ use="true"
+ protected="true"
+ version="true"
+ windowtitle="${Name} API Documentation"
+ Overview="${doc.api.dir}/package.html"
+ doctitle="${Name} API Documentation"
+ stylesheetfile="${doc.api.dir}/jdstyle.css"
+ link="${javadoc}">
+ <packageset dir="${src.dir}" defaultexcludes="yes">
+ <include name="**/*"/>
+ </packageset>
+ </javadoc>
</target>
</project>
Deleted: search/branches/Branch_3_0_1_GA_CP/common-build.xml
===================================================================
--- search/branches/Branch_3_0_1_GA_CP/common-build.xml 2011-04-08 07:43:09 UTC (rev
20931)
+++ search/branches/Branch_3_0_1_GA_CP/common-build.xml 2011-04-08 09:21:04 UTC (rev
20932)
@@ -1,383 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="common-build" default="dist">
- <description>Common properties and targets for the HibernateExt
project</description>
-
- <!-- my.basedir property can be used to refer to files/directories relatively to the
common-build.xml file -->
- <dirname property="common-build.basedir"
file="${ant.file.common-build}"/>
-
- <!-- Give user a chance to override without editing this file
- (and without typing -D each time it compiles it) -->
- <property file="${common-build.basedir}/build.properties"/>
- <property file="${user.home}/.ant.properties"/>
-
- <property name="src.dir" location="src/java"/>
- <property name="test.dir" location="src/test"/>
- <property name="lib.dir" location="lib"/>
- <property name="build.dir" location="build"/>
- <property name="classes.dir"
location="${build.dir}/classes"/>
- <property name="testclasses.dir"
location="${build.dir}/testclasses"/>
- <property name="dist.target.dir" location="target"/>
- <property name="dist.dir"
location="${dist.target.dir}/${name}"/>
- <property name="instrumenttest.out.dir"
value="instrumenttestout"/>
- <property name="doc.dir" location="doc"/>
- <property name="doc.api.dir" location="${doc.dir}/api"/>
- <property name="doc.reference.dir"
location="${doc.dir}/reference"/>
-
- <property name="dist.doc.dir"
location="${dist.dir}/doc"/>
- <property name="dist.api.dir"
location="${dist.dir}/doc/api"/>
-
- <property name="dist.src.dir" location="${dist.dir}/src"/>
- <property name="dist.test.dir" location="${dist.dir}/test"/>
- <property name="dist.lib.dir" location="${dist.dir}/lib"/>
- <property name="jar.name" value="${name}"/>
- <property name="jar.file.name"
value="${dist.dir}/${jar.name}.jar"/>
- <property name="jartest.file.name"
value="${dist.dir}/${jar.name}-tests.jar"/>
-
- <property name="javadoc"
value="http://java.sun.com/j2se/1.5.0/docs/api"/>
- <property name="javac.debug" value="on"/>
- <property name="javac.optimize" value="off"/>
- <property name="javac.source" value="1.5"/>
- <property name="javac.target" value="1.5"/>
-
-
- <!-- set Hibernate core related properties -->
- <property name="hibernate-core.home"
location="${common-build.basedir}/../hibernate-3.2"/>
- <property name="hibernate-core.jar"
location="${hibernate-core.home}/hibernate3.jar"/>
- <property name="hibernate-core.lib.dir"
location="${hibernate-core.home}/lib"/>
- <property name="hibernate-core.jdbc.dir"
location="${hibernate-core.home}/lib"/> <!-- for some reason jdbc.dir is
renamed to lib instead of jdbc when doing a dist of hibernate3 -->
- <property name="hibernate-core.doc.api"
location="${hibernate-core.home}/doc/api"/>
- <property name="hibernate-cvs.doc.reference"
location="${common-build.basedir}/../core/doc/reference"/>
-
- <taskdef name="junit"
classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTask">
- <classpath>
- <fileset dir="${hibernate-core.lib.dir}">
- <include name="junit-*.jar"/>
- <include name="ant-junit-*.jar"/>
- </fileset>
- </classpath>
- </taskdef>
-
- <taskdef name="junitreport"
classname="org.apache.tools.ant.taskdefs.optional.junit.XMLResultAggregator">
- <classpath>
- <fileset dir="${hibernate-core.lib.dir}">
- <include name="junit-*.jar"/>
- <include name="ant-junit-*.jar"/>
- </fileset>
- </classpath>
- </taskdef>
-
- <path id="lib.class.path">
- <path location="${hibernate-core.jar}"></path>
- <fileset dir="${hibernate-core.lib.dir}">
- <include name="*.jar"/>
- </fileset>
- <fileset dir="${lib.dir}">
- <include name="*.jar"/>
- </fileset>
- <path refid="lib.moduleclass.path"/>
- </path>
-
- <!-- overridable in modules -->
- <path id="lib.moduleclass.path"/>
-
- <patternset id="support.files">
- <include name="**/*.jpg"/>
- <include name="**/*.gif"/>
- <include name="**/*.dtd"/>
- <include name="**/*.xsd"/>
- <include name="**/*.xml"/>
- <include name="**/*.xslt"/>
-
- <!-- exclude everything we don't want in the jar -->
- <exclude name="${build.dir}/**/*"/>
- <exclude name="${doc.dir}/**/*"/>
- <exclude name="classes/**/*"/>
- <exclude name="build.xml"/>
- <exclude name="**/*.properties"/>
- <exclude name="**/*.ccf"/>
- <exclude name="**/*.cfg.xml"/>
- <exclude name="**/ehcache.xml"/>
- </patternset>
-
- <patternset id="source.files">
- <include name="**/*.java"/>
- <include name="**/*.properties"/>
- </patternset>
-
- <!-- junit paths/filesets -->
- <fileset dir="${testclasses.dir}"
id="junit.batchtestset">
- <include name="**/*Test.class"/>
- </fileset>
-
- <path id="testsrc.path">
- <pathelement location="${test.dir}"/>
- </path>
-
- <path id="junit.classpath">
- <fileset dir="${lib.dir}">
- <include name="*.jar"/>
- </fileset>
- <pathelement path="${classes.dir}"/>
- <pathelement path="${testclasses.dir}"/>
- <path refid="lib.class.path"/>
- <path refid="junit.moduleclasspath"/>
- </path>
-
- <!-- Tasks -->
-
- <target name="clean" description="Cleans up build and dist
directories">
- <delete dir="${build.dir}"/>
- <delete dir="${dist.target.dir}"/>
- </target>
-
- <target name="init" description="Initialize the build">
- <tstamp>
- <format property="subversion" pattern="yyyy-MM-dd
hh:mm:ss"/>
- </tstamp>
- <echo message="Build ${Name}-${version} (${subversion})"/>
- <mkdir dir="${classes.dir}"/>
- <mkdir dir="${testclasses.dir}"/>
- <copy todir="${classes.dir}">
- <fileset dir="${src.dir}">
- <patternset refid="support.files"/>
- </fileset>
- </copy>
-
- <copy todir="${build.dir}">
- <fileset dir=".">
- <include name="readme.txt"/>
- <include name="lgpl.txt"/>
- </fileset>
- </copy>
-
- <available file="${hibernate-core.jar}" type="file"
property="hibernate-core.jar.available"/>
- <fail unless="hibernate-core.jar.available" message="Cannot
locate hibernate-core.jar: ${hibernate-core.jar}"/>
- </target>
-
- <target name="compile" depends="init"
description="Compile the Java source code">
- <available
- classname="org.eclipse.core.launcher.Main"
- property="build.compiler"
- value="org.eclipse.jdt.core.JDTCompilerAdapter"
- classpath="${java.class.path}"/>
- <javac
- target="${javac.target}"
- source="${javac.source}"
- srcdir="${src.dir}"
- destdir="${classes.dir}"
- classpathref="lib.class.path"
- debug="${javac.debug}"
- optimize="${javac.optimize}"
- nowarn="on">
- </javac>
- </target>
-
- <target name="compiletest" depends="compile"
description="Compile the tests">
- <available
- classname="org.eclipse.core.launcher.Main"
- property="build.compiler"
- value="org.eclipse.jdt.core.JDTCompilerAdapter"
- classpath="${java.class.path}"/>
- <javac
- target="${javac.target}"
- source="${javac.source}"
- destdir="${testclasses.dir}"
- classpathref="junit.classpath"
- debug="${javac.debug}"
- optimize="${javac.optimize}"
- nowarn="on">
- <src refid="testsrc.path"/>
- </javac>
- </target>
-
- <target name="instrument" depends="compiletest"
- description="Instrument the persistent classes"> <!--
depends="jar" -->
-
- <taskdef name="instrument"
classname="org.hibernate.tool.instrument.InstrumentTask">
- <classpath path="${classes.dir}"/>
- <classpath path="${testclasses.dir}"/>
- <classpath refid="lib.class.path"/>
- </taskdef>
-
- <instrument verbose="true">
- <fileset dir="${testclasses.dir}/org/hibernate/test">
- <include name="**/*.class"/>
- <exclude name="**/*Test$*.class"/>
- <exclude name="**/*Test.class"/>
- <exclude name="**/*Tests.class"/>
- </fileset>
- </instrument>
- </target>
-
- <target name="copytest" description="Copy tests to dist dir"
if="copy.test" >
- <mkdir dir="${dist.test.dir}"/>
- <copy todir="${dist.test.dir}">
- <fileset dir="${test.dir}"/>
- </copy>
- </target>
-
- <target name="copysource" depends="copytest"
description="Copy sources to dist dir">
- <mkdir dir="${dist.src.dir}"/>
- <copy todir="${dist.src.dir}">
- <fileset dir="${src.dir}">
- <patternset refid="source.files"/>
- </fileset>
- <fileset dir="${src.dir}">
- <patternset refid="support.files"/>
- </fileset>
- </copy>
- <mkdir dir="${dist.src.dir}"/>
- <copy todir="${dist.src.dir}">
- <fileset dir="${src.dir}">
- <patternset refid="source.files"/>
- </fileset>
- <fileset dir="${src.dir}">
- <patternset refid="support.files"/>
- </fileset>
- </copy>
- </target>
-
- <target name="copylib" description="Copy jars to lib dir">
- <mkdir dir="${dist.lib.dir}"/>
- <copy todir="${dist.lib.dir}">
- <fileset dir="${lib.dir}">
- <include name="*.jar"/>
- <exclude name="log4j.jar"/>
- <include name="*.txt"/>
- </fileset>
- </copy>
- </target>
-
- <target name="copydoc" description="Copy doc to dist dir"
if="copy.doc">
- <mkdir dir="${dist.doc.dir}"/>
- <copy todir="${dist.doc.dir}">
- <fileset dir="${doc.dir}">
- <include name="**/*.html"/>
- </fileset>
- </copy>
- </target>
-
- <target name="jar" depends="compile" description="Build
the distribution .jar file">
- <mkdir dir="${dist.dir}"/>
- <jar filesetmanifest="merge" jarfile="${jar.file.name}"
basedir="${classes.dir}"/>
- </target>
-
- <target name="jartest" depends="compiletest"
description="Build the distribution .jar file">
- <mkdir dir="${dist.dir}"/>
- <jar filesetmanifest="merge"
jarfile="${jartest.file.name}" basedir="${testclasses.dir}"/>
- </target>
-
- <!-- DOCUMENTATION -->
-
- <target name="javadoc" description="Compile the Javadoc API
documentation to dist dir">
- <mkdir dir="${dist.api.dir}"/>
- <javadoc
- packagenames="${javadoc.packagenames}"
- classpathref="lib.class.path"
- destdir="${dist.api.dir}"
- use="true"
- protected="true"
- version="true"
- windowtitle="${Name} API Documentation"
- Overview="${doc.api.dir}/package.html"
- doctitle="${Name} API Documentation"
- stylesheetfile="${hibernate-core.doc.api}/jdstyle.css"
- link="${javadoc}">
- <packageset dir="${src.dir}" defaultexcludes="yes" >
- <include name="**/*" />
- </packageset>
- </javadoc>
-
-
- </target>
-
-
- <target name="extras" description="Copies miscellaneous files to root
dir">
- <copy todir="${dist.dir}/bin" failonerror="false">
- <fileset dir="bin">
- <include name="*.bat"/>
- </fileset>
- </copy>
- <copy file="readme.txt" todir="${dist.dir}"/>
- <copy file="lgpl.txt" todir="${dist.dir}"/>
- <copy file="changelog.txt" todir="${dist.dir}"/>
- <copy file="build.xml" todir="${dist.dir}"/>
- <replace file="${dist.dir}/build.xml">
- <replacetoken><![CDATA[../${name}-${version}]]></replacetoken>
- <replacevalue><![CDATA[../${name}]]></replacevalue>
- </replace>
- </target>
-
- <target name="dist"
depends="jar,javadoc,copysource,copylib,copydoc,extras" description="Build
everything">
- <zip zipfile = "${dist.dir}-${version}.zip">
- <zipfileset prefix="${name}-${version}" dir="${dist.dir}"/>
- </zip>
- <tar compression="gzip"
tarfile="${dist.dir}-${version}.tar.gz">
- <tarfileset prefix="${name}-${version}" dir="${dist.dir}"/>
- </tar>
- </target>
-
- <target name="info" description="Echoes useful system
properties">
- <echo message="java.vm.info=${java.vm.info}"/>
- <echo message="java.vm.name=${java.vm.name}"/>
- <echo message="java.vm.vendor=${java.vm.vendor}"/>
- <echo message="java.vm.version=${java.vm.version}"/>
- <echo message="os.arch=${os.arch}"/>
- <echo message="os.name=${os.name}"/>
- <echo message="os.version=${os.version}"/>
- <echo message="java.home = ${java.home}"/>
- <echo message="java.class.path = ${java.class.path}"/>
- <echo message="build.compiler = ${build.compiler}"/>
- <echo message="file.encoding=${file.encoding}"/>
- <echo message="user.home = ${user.home}"/>
- <echo message="user.language=${user.language}"/>
- </target>
-
- <target name="junit" depends="compiletest">
- <mkdir dir="test_output"/>
- <junit printsummary="yes" haltonfailure="yes"
forkmode="once">
- <classpath refid="junit.classpath"/>
- <formatter type="plain"/>
- <formatter type="xml"/>
- <batchtest fork="yes" todir="test_output"
haltonfailure="no">
- <fileset refid="junit.batchtestset"/>
- </batchtest>
- </junit>
- </target>
-
- <!-- Run a single unit test. -->
- <target name="junitsingle" depends="compiletest"
description="Run a single test suite (requires testname and jdbc.driver
properties)">
- <mkdir dir="test_output"/>
- <junit printsummary="yes" fork="yes"
haltonfailure="yes">
- <classpath refid="junit.classpath"/>
- <formatter type="plain"/>
- <formatter type="xml"/>
- <test fork="yes" todir="test_output"
haltonfailure="no" name="${testname}"/>
- </junit>
- </target>
-
- <target name="junitinstrument" depends="compiletest,instrument"
- description="Run the instrument test suite (requires driver.jar
property)">
- <mkdir dir="${instrumenttest.out.dir}"/>
- <junit printsummary="yes" haltonfailure="yes"
dir="${basedir}"
- maxmemory="256M" fork="yes" forkmode="perBatch">
- <classpath refid="junit.classpath"/>
- <formatter type="plain"/>
- <formatter type="xml"/>
- <batchtest todir="${instrumenttest.out.dir}"
haltonfailure="no">
- <fileset dir="${classes.dir}">
- <include name="org/hibernate/test/**/*Test.class"/>
- </fileset>
- </batchtest>
- </junit>
- </target>
-
- <target name="junitreport" depends="">
- <junitreport todir="./test_output">
- <fileset dir="test_output">
- <include name="TEST-*.xml"/>
- </fileset>
- <report format="frames" todir="./test_output"/>
- </junitreport>
- </target>
-</project>
\ No newline at end of file