I guess build.xml should have a copyright statement too
[zxing.git] / javame / build.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2
3 <!--
4  Copyright 2007 Google Inc.
5
6  Licensed under the Apache License, Version 2.0 (the "License");
7  you may not use this file except in compliance with the License.
8  You may obtain a copy of the License at
9
10       http://www.apache.org/licenses/LICENSE-2.0
11
12  Unless required by applicable law or agreed to in writing, software
13  distributed under the License is distributed on an "AS IS" BASIS,
14  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  See the License for the specific language governing permissions and
16  limitations under the License.
17 -->
18
19 <project name="javame" default="build">
20
21   <property file="../build.properties"/>
22
23   <path id="wtk-build-path">
24     <fileset dir="${WTK-home}/lib">
25       <include name="cldcapi11.jar"/>
26       <include name="midpapi20.jar"/>
27       <include name="mmapi.jar"/>
28       <include name="jsr234.jar"/>
29       <include name="satsa-apdu.jar"/>
30     </fileset>
31     <pathelement location="../core/core.jar"/>
32   </path>
33
34   <target name="init">
35     <tstamp/>
36     <fail message="Please set 'JDK1.4-classes' in build.properties">
37       <condition>
38         <not>
39           <available file="${JDK1.4-classes}" type="file"/>
40         </not>
41       </condition>
42     </fail>
43     <fail message="Please set 'WTK-home' in build.properties">
44       <condition>
45         <not>
46           <available file="${WTK-home}" type="dir"/>
47         </not>
48       </condition>
49     </fail>
50   </target>
51
52   <target name="compile" depends="init">
53     <mkdir dir="build"/>
54     <javac srcdir="src"
55            destdir="build"
56            source="1.4"
57            target="1.4"
58            bootclasspath="${JDK1.4-classes}"
59            optimize="true"
60            debug="true"
61            deprecation="true"
62            fork="true">
63       <classpath refid="wtk-build-path"/>
64     </javac>
65   </target>
66
67   <target name="compile-basic" depends="init">
68     <mkdir dir="build"/>
69     <!-- For an explanation of this odd build command, see javadoc in
70          src/com/google/zxing/client/j2me/AdvancedMultimediaManager.java -->
71     <javac srcdir="src-basic"
72            destdir="build"
73            source="1.4"
74            target="1.4"
75            bootclasspath="${JDK1.4-classes}"
76            optimize="true"
77            debug="true"
78            deprecation="true"
79            fork="true">
80        <classpath refid="wtk-build-path"/>
81     </javac>
82     <javac srcdir="src"
83            destdir="build"
84            source="1.4"
85            target="1.4"
86            bootclasspath="${JDK1.4-classes}"
87            optimize="true"
88            debug="true"
89            deprecation="true"
90            fork="true">
91       <classpath refid="wtk-build-path"/>
92       <exclude name="com/google/zxing/client/j2me/AdvancedMultimediaManager.java"/>
93     </javac>
94   </target>
95
96   <target name="package">
97     <unzip src="../core/core.jar" dest="build"/>
98
99     <mkdir dir="build-j2me"/>
100     <property name="preverify-classpath" refid="wtk-build-path"/>
101     <exec executable="${WTK-home}/bin/preverify1.1">
102       <arg line="-classpath ${preverify-classpath} -d build-j2me build"/>
103     </exec>
104
105     <copy todir="build-j2me">
106       <fileset dir=".">
107         <include name="res/**"/>
108       </fileset>
109     </copy>
110
111     <copy file="src/com/google/zxing/client/j2me/MANIFEST.MF.template" tofile="src/com/google/zxing/client/j2me/MANIFEST.MF" overwrite="true">
112       <filterset>
113         <filter token="APP_NAME" value="${jar-name}"/>
114       </filterset>
115     </copy>
116
117     <jar jarfile="${jar-name}.jar" basedir="build-j2me" manifest="src/com/google/zxing/client/j2me/MANIFEST.MF"/>
118
119     <!-- get .jar size to include it in the .jad file -->
120     <length file="${jar-name}.jar" property="jar-size"/>
121
122     <copy file="ZXingReader.jad.template" tofile="${jar-name}.jad" overwrite="true">
123       <filterset>
124         <filter token="JAR_SIZE" value="${jar-size}"/>
125         <filter token="APP_NAME" value="${jar-name}"/>
126       </filterset>
127     </copy>
128
129   </target>
130
131   <target name="build">
132     <description>Builds the main reader .jar file</description>
133     <property name="jar-name" value="ZXingReader"/>
134     <antcall target="clean"/>
135     <antcall target="compile"/>
136     <antcall target="package"/>
137   </target>
138
139   <target name="build-basic">
140     <description>Builds the basic reader .jar file</description>
141     <property name="jar-name" value="ZXingReaderBasic"/>
142     <antcall target="clean"/>
143     <antcall target="compile-basic"/>
144     <antcall target="package"/>
145   </target>
146
147   <target name="clean">
148     <delete dir="build"/>
149     <delete dir="build-j2me"/>
150     <delete dir="." includes="*.jar"/>
151     <delete dir="." includes="*.jad"/>    
152   </target>
153
154 </project>