OSDN Git Service

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