Fixed bug in rotation code for BufferedImageMonochromeBitmapSource; fixed "SKIP_N_BAR...
[zxing.git] / javame / build.xml
index 39fdbfb..fe20cf7 100644 (file)
     </fileset>
     <pathelement location="../core/core.jar"/>
   </path>
+  <property name="preverify-classpath" refid="wtk-build-path"/>
+
+  <path id="javame-compile-bootclasspath">
+    <fileset dir="${WTK-home}/lib">
+      <include name="cldcapi11.jar"/>
+      <include name="midpapi20.jar"/>
+    </fileset>
+  </path>
+  <property name="javame-compile-bootclasspath-path" refid="javame-compile-bootclasspath"/>
 
   <target name="init">
     <tstamp/>
-    <fail message="Please set 'JDK1.4-classes' in build.properties">
+    <fail message="Please set 'WTK-home' in build.properties">
+      <condition>
+        <not>
+          <available file="${WTK-home}" type="dir"/>
+        </not>
+      </condition>
+    </fail>
+    <fail message="Please put proguard.jar in 'bin' under the WTK install directory">
       <condition>
         <not>
-          <available file="${JDK1.4-classes}" type="file"/>
+          <available file="${WTK-home}/bin/proguard.jar" type="file"/>
         </not>
       </condition>
     </fail>
-    <fail message="Please set 'WTK-home' in build.properties">
+    <fail message="Please build 'core' first">
       <condition>
         <not>
-          <available file="${WTK-home}" type="dir"/>
+          <available file="../core/core.jar" type="file"/>
         </not>
       </condition>
     </fail>
     <mkdir dir="build"/>
     <javac srcdir="src"
            destdir="build"
-           source="1.4"
-           target="1.4"
-           bootclasspath="${JDK1.4-classes}"
+           source="1.2"
+           target="1.2"
+           bootclasspath="${javame-compile-bootclasspath-path}"
            optimize="true"
            debug="true"
            deprecation="true"
            fork="true">
       <classpath refid="wtk-build-path"/>
     </javac>
+    <jar jarfile="javame.jar" basedir="build" level="9"/>
   </target>
 
   <target name="compile-basic" depends="init">
          src/com/google/zxing/client/j2me/AdvancedMultimediaManager.java -->
     <javac srcdir="src-basic"
            destdir="build"
-           source="1.4"
-           target="1.4"
-           bootclasspath="${JDK1.4-classes}"
+           source="1.2"
+           target="1.2"
+           bootclasspath="${javame-compile-bootclasspath-path}"
            optimize="true"
            debug="true"
            deprecation="true"
            fork="true">
-       <classpath refid="wtk-build-path"/>
+      <classpath refid="wtk-build-path"/>
     </javac>
     <javac srcdir="src"
            destdir="build"
-           source="1.4"
-           target="1.4"
-           bootclasspath="${JDK1.4-classes}"
+           source="1.2"
+           target="1.2"
+           bootclasspath="${javame-compile-bootclasspath-path}"
            optimize="true"
            debug="true"
            deprecation="true"
       <classpath refid="wtk-build-path"/>
       <exclude name="com/google/zxing/client/j2me/AdvancedMultimediaManager.java"/>
     </javac>
+    <jar jarfile="javame-basic.jar" basedir="build" level="9"/>    
   </target>
 
   <target name="package">
     <unzip src="../core/core.jar" dest="build"/>
 
     <mkdir dir="build-j2me"/>
-    <property name="preverify-classpath" refid="wtk-build-path"/>
-    <exec executable="${WTK-home}/bin/preverify1.1">
-      <arg line="-classpath ${preverify-classpath} -d build-j2me build"/>
+    <exec executable="${WTK-home}/bin/preverify1.1" failonerror="true">
+      <arg line="-classpath '${preverify-classpath}' -d build-j2me build"/>
     </exec>
 
     <copy todir="build-j2me">
       </fileset>
     </copy>
 
-    <copy file="src/com/google/zxing/client/j2me/MANIFEST.MF.template" tofile="src/com/google/zxing/client/j2me/MANIFEST.MF" overwrite="true">
+    <copy file="src/com/google/zxing/client/j2me/MANIFEST.MF.template"
+          tofile="src/com/google/zxing/client/j2me/MANIFEST.MF" overwrite="true">
       <filterset>
         <filter token="APP_NAME" value="${jar-name}"/>
+        <filter token="VERSION" value="${version}"/>
       </filterset>
     </copy>
 
-    <jar jarfile="${jar-name}.jar" basedir="build-j2me" manifest="src/com/google/zxing/client/j2me/MANIFEST.MF"/>
+    <jar jarfile="${jar-name}.jar" basedir="build-j2me" manifest="src/com/google/zxing/client/j2me/MANIFEST.MF"
+         level="9"/>
+
+    <move file="${jar-name}.jar" tofile="temp.jar"/>
+    <java jar="${WTK-home}/bin/proguard.jar" fork="true" failonerror="true">
+      <arg value="-injars temp.jar"/>
+      <arg value="-outjars ${jar-name}.jar"/>
+      <arg value="-libraryjars ${WTK-home}/lib/cldcapi11.jar"/>
+      <arg value="-libraryjars ${WTK-home}/lib/midpapi20.jar"/>
+      <arg value="-libraryjars ${WTK-home}/lib/mmapi.jar"/>
+      <arg value="-libraryjars ${WTK-home}/lib/jsr234.jar"/>
+      <arg value="-libraryjars ../core/core.jar"/>
+      <arg value="-microedition"/>
+      <arg value="-keep public class com.google.zxing.client.j2me.ZXingMIDlet"/>
+      <arg value="-optimizationpasses 5"/>
+      <arg value="-verbose"/>
+    </java>
+    <delete file="temp.jar"/>
 
     <!-- get .jar size to include it in the .jad file -->
     <length file="${jar-name}.jar" property="jar-size"/>
 
-    <copy file="ZXingReader.jad.template" tofile="${jar-name}.jad" overwrite="true">
+    <copy file="BarcodeReader.jad.template" tofile="${jar-name}.jad" overwrite="true">
       <filterset>
         <filter token="JAR_SIZE" value="${jar-size}"/>
         <filter token="APP_NAME" value="${jar-name}"/>
+        <filter token="VERSION" value="${version}"/>
       </filterset>
     </copy>
 
 
   <target name="build">
     <description>Builds the main reader .jar file</description>
-    <property name="jar-name" value="ZXingReader"/>
+    <property name="jar-name" value="BarcodeReader"/>
     <antcall target="clean"/>
     <antcall target="compile"/>
     <antcall target="package"/>
 
   <target name="build-basic">
     <description>Builds the basic reader .jar file</description>
-    <property name="jar-name" value="ZXingReaderBasic"/>
+    <property name="jar-name" value="BarcodeReaderBasic"/>
     <antcall target="clean"/>
     <antcall target="compile-basic"/>
     <antcall target="package"/>
     <delete dir="build"/>
     <delete dir="build-j2me"/>
     <delete dir="." includes="*.jar"/>
-    <delete dir="." includes="*.jad"/>    
+    <delete dir="." includes="*.jad"/>
+    <delete file="src/com/google/zxing/client/j2me/MANIFEST.MF"/>
   </target>
 
 </project>