/home/mario/oci/jnb/dataaccess/source/build.xml

1    <?xml version="1.0" encoding="UTF-8"?> 
2    <project name="jnb112003" default="compile" basedir="."> 
3     
4      <!-- Include the build-dist properties. Since properties are immutable, 
5           this will not override available properties. You do not have to include 
6           this in your own build file. --> 
7      <property file="build-dist.properties"/> 
8      <property name="app.name" value="jnb112003"/> 
9      <property name="debug" value="yes"/> 
10     <property name="src.java" value="src/java"/> 
11     <property name="test.src.dir" value="test/java"/> 
12     <property name="test.dir" value="test"/> 
13     <property name="test.report.dir" value="test/result"/> 
14     <property name="test" value="*"/> 
15     <property name="lib.dir" value="lib"/> 
16     <property name="build.dir" value="build/ant"/> 
17     <property name="build.gen-src.dir" value="src/gen"/> 
18     <property name="rsrc.dir" value="resources"/> 
19     <property name="hib.config.dir"  value="${rsrc.dir}/hibernate-config"/> 
20    
21     <path id="project.class.path"> 
22       <pathelement location="${build.dir}"/> 
23       <pathelement location="${rsrc.dir}"/> 
24       <fileset dir="${lib.dir}"> 
25         <include name="*.jar"/> 
26       </fileset> 
27    
28       <fileset dir="${xdoclet.lib.dir}"> 
29           <include name="*.jar"/> 
30       </fileset> 
31     </path> 
32    
33     <target name="init"> 
34       <tstamp/> 
35     </target> 
36    
37     <target name="prepare" depends="init" description="prepare development project"> 
38       <mkdir dir="${build.dir}"/> 
39       <mkdir dir="${lib.dir}"/> 
40       <mkdir dir="${src.java}"/> 
41       <mkdir dir="${test.src.dir}"/> 
42       <mkdir dir="${test.report.dir}"/> 
43     </target> 
44    
45       <!-- ============================================================== --> 
46       <!-- Build Hibernate config XML files --> 
47       <!-- ============================================================== --> 
48    
49     <target 
50         name="middlegen" 
51         description="Run Middlegen" 
52         unless="middlegen.skip" 
53         depends="prepare"> 
54    
55         <mkdir dir="${build.gen-src.dir}"/> 
56    
57         <taskdef name="middlegen" classname="middlegen.MiddlegenTask" classpathref="project.class.path"/> 
58    
59         <middlegen 
60             appname="${app.name}" 
61             prefsdir="${rsrc.dir}" 
62             databaseurl="${database.url}" 
63             driver="${database.driver}" 
64             username="${database.userid}" 
65             password="${database.password}" 
66             schema="${database.schema}" 
67             catalog="${database.catalog}"> 
68    
69             <!-- Plugins --> 
70             <hibernate destination="${hib.config.dir}" package="com.ociweb.bean"/> 
71         </middlegen> 
72    
73     </target> 
74    
75       <!-- ============================================================== --> 
76       <!-- Use Hibernate to generate Java source files from details in the config XML files --> 
77       <!-- ============================================================== --> 
78     <target name="hibernate" depends="prepare" > 
79         <java classname="net.sf.hibernate.tool.hbm2java.CodeGenerator" fork="true" > 
80             <classpath refid="project.class.path"/> 
81             <arg value="--config=${rsrc.dir}/hbm-java-config.xml"/> 
82             <arg value="--output=${build.gen-src.dir}"/> 
83             <arg value="--inputdir=${hib.config.dir}/com/ociweb/bean"/> 
84         </java> 
85     </target> 
86    
87     <target name="compile.all" depends="compile, compile.unit"/> 
88    
89     <target name="compile" depends="prepare" description="compile Java source code"> 
90       <javac destdir="${build.dir}" debug="${debug}" fork="yes"> 
91         <src path="${build.gen-src.dir}"/> 
92         <classpath refid="project.class.path"/> 
93       </javac> 
94       <javac destdir="${build.dir}" debug="${debug}" fork="yes"> 
95         <src path="${src.java}"/> 
96         <classpath refid="project.class.path"/> 
97       </javac> 
98       <echo message="source compiled"/> 
99     </target> 
100   
101    <target name="compile.src" description="compile without generate code"> 
102      <javac destdir="${build.dir}" debug="${debug}" fork="yes"> 
103        <src path="${src.java}"/> 
104        <classpath refid="project.class.path"/> 
105      </javac> 
106      <echo message="source compiled"/> 
107    </target> 
108   
109    <target name="compile.unit" depends="compile" description="compile Java unit test source code"> 
110      <javac destdir="${build.dir}" debug="${debug}" fork="yes"> 
111        <src path="${test.src.dir}"/> 
112        <classpath refid="project.class.path"/> 
113      </javac> 
114      <echo message="unit test source compiled"/> 
115    </target> 
116   
117    <target name="test" depends="compile.unit" description="runs all JUnit tests"> 
118      <delete dir="${test.report.dir}"/> 
119      <mkdir dir="${test.report.dir}"/> 
120      <junit printsummary="yes" fork="true" failureproperty="buildFail"> 
121        <jvmarg value="-Djava.endorsed.dirs=${endorsed.dir}/"/> 
122        <classpath refid="project.class.path"/> 
123        <batchtest todir="${test.report.dir}"> 
124          <fileset dir="${test.src.dir}" includes="**/${test}Test.java"/> 
125          <formatter type="xml"/> 
126        </batchtest> 
127      </junit> 
128      <junitreport toDir="${test.report.dir}"> 
129        <fileset dir="${test.report.dir}" includes="**/TEST-*.xml"/> 
130        <report format="frames" todir="${test.report.dir}"/> 
131      </junitreport> 
132      <echo>To view test results, visit ${test.report.dir}/index.html.</echo> 
133      <fail if="buildFail"> 
134          One or more tests had errors or failures. Aborting build... 
135      </fail> 
136    </target> 
137   
138    <target name="clean"> 
139      <delete dir="${build.dir}"/>     
140    </target> 
141  </project> 
142