Workaround for codes that fail to include (required) final TERMINATOR mode indicator
[zxing.git] / core / build.xml
index 0e4deff..85e12e7 100644 (file)
@@ -1,8 +1,32 @@
 <?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Copyright 2007 Google Inc.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
 <project name="core" default="build">
 
-  <property name="WTK-home" value="/usr/local/WTK2.5.2"/>
-  <property name="JDK1.4-home" value="/usr/lib/jvm/j2sdk1.4.2_16"/>
+  <property file="../build.properties"/>
+
+  <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/>
     <mkdir dir="build"/>
     <javac srcdir="src"
            destdir="build"
-           source="1.4"
-           target="1.4"
-           bootclasspath="${JDK1.4-home}/jre/lib/rt.jar"
+           source="1.2"
+           target="1.2"
+           bootclasspath="${javame-compile-bootclasspath-path}"
            optimize="true"
            debug="true"
            deprecation="true"
            fork="true"/>
-    <jar jarfile="core.jar" basedir="build"/>
+    <jar jarfile="core.jar" basedir="build" level="9"/>
+  </target>
+
+  <target name="test" depends="init,build">
+    <fail message="Please build 'javase' first">
+      <condition>
+        <not>
+          <available file="../javase/javase.jar" type="file"/>
+        </not>
+      </condition>
+    </fail>
+    <mkdir dir="build-test"/>
+    <javac srcdir="test/src"
+           destdir="build-test"
+           debug="true"
+           deprecation="true">
+      <classpath>
+        <pathelement location="build"/>
+        <pathelement location="../javase/javase.jar"/>
+        <pathelement location="lib/junit.jar"/>
+      </classpath>
+    </javac>
+    <junit printsummary="on" haltonfailure="on" haltonerror="on" fork="true" dir=".">
+      <formatter type="plain" usefile="false"/>
+      <classpath>
+        <pathelement location="build"/>
+        <pathelement location="build-test"/>
+        <pathelement location="../javase/javase.jar"/>
+        <pathelement location="lib/junit.jar"/>
+      </classpath>
+      <assertions>
+        <enable/>
+      </assertions>
+      <batchtest>
+        <fileset dir="test/src">
+          <include name="**/*TestCase.java"/>
+          <exclude name="com/google/zxing/common/AbstractBlackBoxTestCase.java"/>
+        </fileset>
+      </batchtest>
+    </junit>
   </target>
 
   <target name="clean">
     <delete dir="build"/>
+    <delete dir="build-test"/>
     <delete file="core.jar"/>
   </target>