<?xml version="1.0" encoding="UTF-8"?>
<!--
- Copyright 2007 Google Inc.
+ Copyright 2007 ZXing authors
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
<path id="wtk-build-path">
<fileset dir="${WTK-home}/lib">
+ <!-- These are used with WTK 2.5.x -->
+ <!--
<include name="cldcapi11.jar"/>
<include name="midpapi20.jar"/>
<include name="mmapi.jar"/>
<include name="jsr234.jar"/>
<include name="satsa-apdu.jar"/>
+ -->
+ <include name="cldc_1.1.jar"/>
+ <include name="midp_2.0.jar"/>
+ <include name="jsr135_1.2.jar"/>
+ <include name="jsr234_1.0.jar"/>
</fileset>
<pathelement location="../core/core.jar"/>
</path>
<path id="javame-compile-bootclasspath">
<fileset dir="${WTK-home}/lib">
+ <!-- These are used with WTK 2.5.x -->
+ <!--
<include name="cldcapi11.jar"/>
<include name="midpapi20.jar"/>
+ -->
+ <include name="cldc_1.1.jar"/>
+ <include name="midp_2.0.jar"/>
</fileset>
</path>
<property name="javame-compile-bootclasspath-path" refid="javame-compile-bootclasspath"/>
</not>
</condition>
</fail>
- <fail message="Please put proguard.jar in 'bin' under the WTK install directory">
+ <fail message="Please set 'proguard.jar' in build.properties">
<condition>
<not>
- <available file="${WTK-home}/bin/proguard.jar" type="file"/>
+ <available file="${proguard-jar}" type="file"/>
+ </not>
+ </condition>
+ </fail>
+ <fail message="Please build 'core' first">
+ <condition>
+ <not>
+ <available file="../core/core.jar" type="file"/>
</not>
</condition>
</fail>
</target>
- <target name="compile" depends="init">
- <mkdir dir="build"/>
- <javac srcdir="src"
- destdir="build"
- 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>
- </target>
-
- <target name="compile-basic" depends="init">
+ <target name="build" depends="init">
<mkdir dir="build"/>
- <!-- For an explanation of this odd build command, see javadoc in
- src/com/google/zxing/client/j2me/AdvancedMultimediaManager.java -->
- <javac srcdir="src-basic"
- destdir="build"
- 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>
<javac srcdir="src"
destdir="build"
source="1.2"
deprecation="true"
fork="true">
<classpath refid="wtk-build-path"/>
- <exclude name="com/google/zxing/client/j2me/AdvancedMultimediaManager.java"/>
</javac>
- </target>
+ <jar jarfile="javame.jar" basedir="build"/>
- <target name="package">
<unzip src="../core/core.jar" dest="build"/>
+ <!--
<mkdir dir="build-j2me"/>
- <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 dir="build"/>
+ </copy>
<copy todir="build-j2me">
<fileset dir=".">
</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="APP_NAME" value="BarcodeReader"/>
<filter token="VERSION" value="${version}"/>
</filterset>
</copy>
- <jar jarfile="${jar-name}.jar" basedir="build-j2me" manifest="src/com/google/zxing/client/j2me/MANIFEST.MF" level="9"/>
+ <jar jarfile="BarcodeReader.jar" basedir="build-j2me" manifest="src/com/google/zxing/client/j2me/MANIFEST.MF"/>
- <move file="${jar-name}.jar" tofile="temp.jar"/>
- <java jar="${WTK-home}/bin/proguard.jar" fork="true">
+ <move file="BarcodeReader.jar" tofile="temp.jar"/>
+ <java jar="${proguard-jar}" fork="true" failonerror="true">
+ <jvmarg value="-Dmaximum.inlined.code.length=32"/>
<arg value="-injars temp.jar"/>
- <arg value="-outjars ${jar-name}.jar"/>
- <arg value="-libraryjars ${preverify-classpath}"/>
+ <arg value="-outjars BarcodeReader.jar"/>
+ <!-- These are used with WTK 2.5.x -->
+ <!--
+ <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 ${WTK-home}/lib/cldc_1.1.jar"/>
+ <arg value="-libraryjars ${WTK-home}/lib/midp_2.0.jar"/>
+ <arg value="-libraryjars ${WTK-home}/lib/jsr135_1.2.jar"/>
+ <arg value="-libraryjars ${WTK-home}/lib/jsr234_1.0.jar"/>
<arg value="-microedition"/>
<arg value="-keep public class com.google.zxing.client.j2me.ZXingMIDlet"/>
- <arg value="-keep public class com.google.zxing.qrcode.detector.DefaultGridSampler"/>
- <arg value="-keep public class com.google.zxing.qrcode.detector.GridSampler"/>
+ <arg value="-keep class com.google.zxing.client.j2me.AdvancedMultimediaManager"/>
+ <arg value="-keep class com.google.zxing.client.j2me.DefaultMultimediaManager"/>
+ <arg value="-keep class com.google.zxing.client.j2me.MultimediaManager"/>
<arg value="-optimizationpasses 5"/>
+ <arg value="-overloadaggressively"/>
+ <arg value="-allowaccessmodification"/>
<arg value="-verbose"/>
+ <arg value="-dump proguard-dump.txt"/>
</java>
<delete file="temp.jar"/>
<!-- get .jar size to include it in the .jad file -->
- <length file="${jar-name}.jar" property="jar-size"/>
+ <length file="BarcodeReader.jar" property="jar-size"/>
- <copy file="ZXingReader.jad.template" tofile="${jar-name}.jad" overwrite="true">
+ <copy file="BarcodeReader.jad.template" tofile="BarcodeReader.jad" overwrite="true">
<filterset>
<filter token="JAR_SIZE" value="${jar-size}"/>
- <filter token="APP_NAME" value="${jar-name}"/>
+ <filter token="APP_NAME" value="BarcodeReader"/>
<filter token="VERSION" value="${version}"/>
</filterset>
</copy>
</target>
- <target name="build">
- <description>Builds the main reader .jar file</description>
- <property name="jar-name" value="ZXingReader"/>
- <antcall target="clean"/>
- <antcall target="compile"/>
- <antcall target="package"/>
- </target>
-
- <target name="build-basic">
- <description>Builds the basic reader .jar file</description>
- <property name="jar-name" value="ZXingReaderBasic"/>
- <antcall target="clean"/>
- <antcall target="compile-basic"/>
- <antcall target="package"/>
+ <target name="dump">
+ <java jar="${proguard-jar}" fork="true">
+ <arg value="-injars BarcodeReader.jar"/>
+ <!-- These are used with WTK 2.5.x -->
+ <!--
+ <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 ${WTK-home}/lib/cldc_1.1.jar"/>
+ <arg value="-libraryjars ${WTK-home}/lib/midp_2.0.jar"/>
+ <arg value="-libraryjars ${WTK-home}/lib/jsr135_1.2.jar"/>
+ <arg value="-libraryjars ${WTK-home}/lib/jsr234_1.0.jar"/>
+ <arg value="-dontshrink"/>
+ <arg value="-dontobfuscate"/>
+ <arg value="-dontoptimize"/>
+ <arg value="-dump dump.txt"/>
+ </java>
</target>
<target name="clean">
<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"/>
+ <delete file="proguard-dump.txt"/>
</target>
</project>