OSDN Git Service

ef43a1228c42d06020e389e9eeda7eff88bf803d
[hayashilib/hayashi.git] / build.xml
1 <project name="hayashi" default="all" basedir=".">\r
2     <property name="src" value="${basedir}/src" />\r
3     <property name="obj" value="${basedir}/classes" />\r
4     <property name="javadoc.dest" value="${basedir}/doc" />\r
5     <property name="report" value="${basedir}/report" />\r
6     <property file="build.properties" />\r
7     <property name="appname" value="hayashi"></property>\r
8     <property name="version" value="0228"></property>\r
9 \r
10     <!--クラスパスを設定 -->\r
11     <path id="compile.classpath">\r
12         <pathelement location="lib/junit.jar"/>\r
13         <pathelement location="lib/xercesImpl.jar"/>\r
14         <pathelement location="lib/mail-1.4.jar"/>\r
15         <pathelement location="lib/activation-1.1.jar"/>\r
16         <pathelement location="lib/servlet-api.jar"/>\r
17         <pathelement path="${obj}"/>\r
18     </path>\r
19         \r
20 \r
21     <target name="init">\r
22         <tstamp/>\r
23     </target>\r
24 \r
25     <target name="prepare" depends="init">\r
26         <!--\r
27         <mkdir dir="${doc}" />\r
28         <mkdir dir="${report}"/>\r
29         -->\r
30     </target>\r
31 \r
32     <target name="clean" depends="prepare" description="Delete build directory">\r
33         <delete>\r
34             <fileset dir="${src}" includes="**/*.class" />\r
35             <fileset dir="${obj}" includes="**/*.class" />\r
36         </delete>\r
37     </target>\r
38 \r
39         <!-- コンパイル -->\r
40     <target name="compile" description="Compile Java Sources">\r
41         <javac srcdir="${src}" destdir="${obj}" encoding="UTF-8" \r
42                 optimize="off" debug="on" verbose="false">\r
43             <include name="**/*.java" />\r
44             <classpath refid="compile.classpath"/>\r
45         </javac>\r
46     </target>\r
47 \r
48     <!--\r
49     Javadoc作成\r
50             実行させるには、PATHにJDKの「JAVA_HOME/bin」を追加する必要がある。\r
51     -->\r
52     <target name="javadoc" depends="compile" description="Create Javadoc API documentation">\r
53     <mkdir dir="${javadoc.dest}/api" />\r
54     <javadoc\r
55             packagenames="*"\r
56             encoding="UTF-8"\r
57             charset="UTF-8"\r
58             sourcepath="${src}"\r
59             destdir="${javadoc.dest}/api" >\r
60         <link href="http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/" />\r
61         <link href="http://java.sun.com/products/javamail/javadocs/" />\r
62         <classpath refid="compile.classpath" />\r
63     </javadoc>\r
64     </target>\r
65 \r
66     <!-- Jarアーカイバの作成 -->\r
67     <target name="makejar" depends="compile" description="make hayashi.jar">\r
68         <delete file="${appname}_${version}.jar"/>\r
69         <tstamp>\r
70             <format property="ts" pattern="yyyy/MM/dd-HH:mm:ss-z"/>\r
71         </tstamp>\r
72         <jar destfile="${appname}_${version}.jar">\r
73             <fileset file="README.txt"/>\r
74             <fileset dir="${src}" includes="**/*.java" />\r
75             <fileset dir="${obj}" includes="**/*.class,**/*.java" />\r
76             <fileset dir="${javadoc.dest}" includes="**/*.*"/>\r
77             <manifest>\r
78                 <attribute name="Implementation-Title"   value="${appname}"/>\r
79                 <attribute name="Implementation-Version" value="hayashi lib ${version}"/>\r
80                 <attribute name="Implementation-Vendor"  value="Yuu Hayashi."/>\r
81                 <attribute name="Build-Id" value="${ts} (${user.name} [${os.name} ${os.version} ${os.arch}])"/>\r
82             </manifest>\r
83         </jar>\r
84     </target>\r
85 \r
86     <target name="test" depends="compile" description="Run JUnit">\r
87         <junit printsummary="yes">\r
88             <classpath refid="compile.classpath"/>\r
89             <test name="util.money.MoneyTest"/>\r
90         </junit>\r
91     </target>\r
92 \r
93     <target name="report" depends="compile" description="Report Test Results">\r
94         <junit printsummary="yes">\r
95             <classpath refid="compile.classpath"/>\r
96             <formatter type="xml"/>\r
97             <batchtest fork="yes" todir="${report}">\r
98                 <fileset dir="${src}">\r
99                     <include name="**/*Test.java"/>\r
100                 </fileset>\r
101             </batchtest>\r
102         </junit>\r
103         <junitreport todir="${report}">\r
104             <fileset dir="${report}">\r
105                 <include name="TEST-*.xml"/>\r
106             </fileset>\r
107             <report format="frames" todir="${report}/html"/>\r
108         </junitreport>\r
109     </target>\r
110 \r
111     <target name="all" depends="makejar" description="Clean build directory, then compile, and JavaDoc">\r
112     </target>\r
113 \r
114 </project>\r