Now, can build "ZXingReaderBasic" which does not require JSR-234
[zxing.git] / javame / build.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <project name="javame" default="build">
3
4   <property file="../build.properties"/>
5
6   <path id="wtk-build-path">
7     <fileset dir="${WTK-home}/lib">
8       <include name="cldcapi11.jar"/>
9       <include name="midpapi20.jar"/>
10       <include name="mmapi.jar"/>
11       <include name="jsr234.jar"/>
12       <include name="satsa-apdu.jar"/>
13     </fileset>
14     <pathelement location="../core/core.jar"/>
15   </path>
16
17   <target name="init">
18     <tstamp/>
19     <fail message="Please set 'JDK1.4-classes' in build.properties">
20       <condition>
21         <not>
22           <available file="${JDK1.4-classes}" type="file"/>
23         </not>
24       </condition>
25     </fail>
26     <fail message="Please set 'WTK-home' in build.properties">
27       <condition>
28         <not>
29           <available file="${WTK-home}" type="dir"/>
30         </not>
31       </condition>
32     </fail>
33   </target>
34
35   <target name="compile" depends="init">
36     <mkdir dir="build"/>
37     <javac srcdir="src"
38            destdir="build"
39            source="1.4"
40            target="1.4"
41            bootclasspath="${JDK1.4-classes}"
42            optimize="true"
43            debug="true"
44            deprecation="true"
45            fork="true">
46       <classpath refid="wtk-build-path"/>
47     </javac>
48   </target>
49
50   <target name="compile-basic" depends="init">
51     <mkdir dir="build"/>
52     <!-- For an explanation of this odd build command, see javadoc in
53          src/com/google/zxing/client/j2me/AdvancedMultimediaManager.java -->
54     <javac srcdir="src-basic"
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     <javac srcdir="src"
66            destdir="build"
67            source="1.4"
68            target="1.4"
69            bootclasspath="${JDK1.4-classes}"
70            optimize="true"
71            debug="true"
72            deprecation="true"
73            fork="true">
74       <classpath refid="wtk-build-path"/>
75       <exclude name="com/google/zxing/client/j2me/AdvancedMultimediaManager.java"/>
76     </javac>
77   </target>
78
79   <target name="package">
80     <unzip src="../core/core.jar" dest="build"/>
81
82     <mkdir dir="build-j2me"/>
83     <property name="preverify-classpath" refid="wtk-build-path"/>
84     <exec executable="${WTK-home}/bin/preverify1.1">
85       <arg line="-classpath ${preverify-classpath} -d build-j2me build"/>
86     </exec>
87
88     <copy todir="build-j2me">
89       <fileset dir=".">
90         <include name="res/**"/>
91       </fileset>
92     </copy>
93
94     <copy file="src/com/google/zxing/client/j2me/MANIFEST.MF.template" tofile="src/com/google/zxing/client/j2me/MANIFEST.MF" overwrite="true">
95       <filterset>
96         <filter token="APP_NAME" value="${jar-name}"/>
97       </filterset>
98     </copy>
99
100     <jar jarfile="${jar-name}.jar" basedir="build-j2me" manifest="src/com/google/zxing/client/j2me/MANIFEST.MF"/>
101
102     <!-- get .jar size to include it in the .jad file -->
103     <length file="${jar-name}.jar" property="jar-size"/>
104
105     <copy file="ZXingReader.jad.template" tofile="${jar-name}.jad" overwrite="true">
106       <filterset>
107         <filter token="JAR_SIZE" value="${jar-size}"/>
108         <filter token="APP_NAME" value="${jar-name}"/>
109       </filterset>
110     </copy>
111
112   </target>
113
114   <target name="build">
115     <description>Builds the main reader .jar file</description>
116     <property name="jar-name" value="ZXingReader"/>
117     <antcall target="clean"/>
118     <antcall target="compile"/>
119     <antcall target="package"/>
120   </target>
121
122   <target name="build-basic">
123     <description>Builds the basic reader .jar file</description>
124     <property name="jar-name" value="ZXingReaderBasic"/>
125     <antcall target="clean"/>
126     <antcall target="compile-basic"/>
127     <antcall target="package"/>
128   </target>
129
130   <target name="clean">
131     <delete dir="build"/>
132     <delete dir="build-j2me"/>
133     <delete dir="." includes="*.jar"/>
134     <delete dir="." includes="*.jad"/>    
135   </target>
136
137 </project>