mirror of
https://github.com/zxing/zxing.git
synced 2024-11-13 22:44:09 -08:00
3a415a4994
git-svn-id: https://zxing.googlecode.com/svn/trunk@1302 59b500cc-1b3d-0410-9834-0bbf25fbcc57
196 lines
6.9 KiB
XML
196 lines
6.9 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
<!--
|
|
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.
|
|
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 file="../build.properties"/>
|
|
|
|
<target name="init">
|
|
<tstamp/>
|
|
</target>
|
|
|
|
<target name="compile" depends="init">
|
|
<mkdir dir="build"/>
|
|
<javac srcdir="src"
|
|
destdir="build"
|
|
source="1.2"
|
|
target="1.2"
|
|
optimize="true"
|
|
debug="${generate-debug}"
|
|
deprecation="true"
|
|
fork="true"/>
|
|
<jar jarfile="core.jar" basedir="build">
|
|
<!-- These entries allow core.jar to function as an OSGi bundle, and also specifies
|
|
additional attributes for compatibility with BugLabs's BUG platform.
|
|
Thanks to David Albert for this change. -->
|
|
<manifest>
|
|
<attribute name="Bundle-Name" value="ZXing"/>
|
|
<attribute name="Bundle-Vendor" value="ZXing Project"/>
|
|
<attribute name="Bundle-SymbolicName" value="ZXing"/>
|
|
<attribute name="Bundle-Version" value="${version}"/>
|
|
<attribute name="Export-Package" value="com.google.zxing,com.google.zxing.common,com.google.zxing.client.result"/>
|
|
<attribute name="Bug-Bundle-Type" value="Application"/>
|
|
</manifest>
|
|
</jar>
|
|
</target>
|
|
|
|
<target name="build" depends="clean">
|
|
<antcall target="compile">
|
|
<param name="generate-debug" value="true"/>
|
|
</antcall>
|
|
</target>
|
|
|
|
<!-- This target is needed for building a core.jar which the Android client can use and run
|
|
ProGuard on successfully, because dx doesn't like debugging info. -->
|
|
<target name="build-no-debug" depends="clean">
|
|
<antcall target="compile">
|
|
<param name="generate-debug" value="false"/>
|
|
</antcall>
|
|
</target>
|
|
|
|
<!-- This target builds an optimized core.jar using ProGuard. It is not intended for our Android
|
|
client - use build-no-debug intead, then build the client which runs ProGuard on everything. -->
|
|
<target name="build-optimized" depends="clean">
|
|
<antcall target="compile">
|
|
<param name="generate-debug" value="false"/>
|
|
</antcall>
|
|
|
|
<delete file="core.jar"/>
|
|
<mkdir dir="optimized"/>
|
|
<java jar="${proguard-jar}" fork="true" failonerror="true">
|
|
<jvmarg value="-Dmaximum.inlined.code.length=48"/>
|
|
<arg value="-injars build"/>
|
|
<arg value="-outjars optimized"/>
|
|
<!-- Needed for Mac OS. -->
|
|
<!--<arg value="-libraryjars ${java.home}/../Classes/classes.jar"/>-->
|
|
<!-- Needed for other Android apps besides Barcode Scanner. -->
|
|
<!--<arg value="-libraryjars ${android-home}/platforms/android-1.6/android.jar"/>-->
|
|
<arg value="-keep class com.google.zxing.* {public protected *;}"/>
|
|
<arg value="-keep class com.google.zxing.common.*Binarizer {public protected *;}"/>
|
|
<!-- Remove this line is you only use the Result base object and want the smallest jar. -->
|
|
<arg value="-keep class com.google.zxing.client.result.* {public protected *;}"/>
|
|
<!-- Contains a useful UPC-E to UPC-A method. -->
|
|
<arg value="-keep class com.google.zxing.oned.UPCEReader {public *;}"/>
|
|
<arg value="-target 1.2"/>
|
|
<arg value="-optimizationpasses 4"/>
|
|
<arg value="-dontobfuscate"/>
|
|
<arg value="-dontskipnonpubliclibraryclasses"/>
|
|
<arg value="-verbose"/>
|
|
</java>
|
|
<jar jarfile="core.jar" basedir="optimized"/>
|
|
</target>
|
|
|
|
<target name="build-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="core.jar"/>
|
|
<pathelement location="../javase/javase.jar"/>
|
|
<pathelement location="lib/junit.jar"/>
|
|
</classpath>
|
|
</javac>
|
|
</target>
|
|
|
|
<target name="test-blackbox" depends="build-test">
|
|
<parallel failonany="true">
|
|
<antcall target="test-blackbox-subset">
|
|
<param name="subdir" value="datamatrix"/>
|
|
</antcall>
|
|
<antcall target="test-blackbox-subset">
|
|
<param name="subdir" value="negative"/>
|
|
</antcall>
|
|
<antcall target="test-blackbox-subset">
|
|
<param name="subdir" value="oned"/>
|
|
</antcall>
|
|
<antcall target="test-blackbox-subset">
|
|
<param name="subdir" value="pdf417"/>
|
|
</antcall>
|
|
<antcall target="test-blackbox-subset">
|
|
<param name="subdir" value="qrcode"/>
|
|
</antcall>
|
|
</parallel>
|
|
</target>
|
|
|
|
<target name="test-blackbox-subset">
|
|
<junit printsummary="on" haltonfailure="on" haltonerror="on" fork="true" dir=".">
|
|
<formatter type="plain" usefile="false"/>
|
|
<classpath>
|
|
<pathelement location="core.jar"/>
|
|
<pathelement location="build-test"/>
|
|
<pathelement location="../javase/javase.jar"/>
|
|
<pathelement location="lib/junit.jar"/>
|
|
</classpath>
|
|
<assertions>
|
|
<enable/>
|
|
</assertions>
|
|
<jvmarg value="-Xint"/> <!-- works around weird JIT bug in Java 6 -->
|
|
<batchtest>
|
|
<fileset dir="test/src">
|
|
<include name="**/${subdir}/*BlackBox*TestCase.java"/>
|
|
<exclude name="**/Abstract*.java"/>
|
|
</fileset>
|
|
</batchtest>
|
|
</junit>
|
|
</target>
|
|
|
|
<target name="test-unit" depends="build-test">
|
|
<junit printsummary="on" haltonfailure="on" haltonerror="on" fork="true" dir=".">
|
|
<formatter type="plain" usefile="false"/>
|
|
<classpath>
|
|
<pathelement location="core.jar"/>
|
|
<pathelement location="build-test"/>
|
|
<pathelement location="../javase/javase.jar"/>
|
|
<pathelement location="lib/junit.jar"/>
|
|
</classpath>
|
|
<assertions>
|
|
<enable/>
|
|
</assertions>
|
|
<jvmarg value="-Xint"/> <!-- works around weird JIT bug in Java 6 -->
|
|
<batchtest>
|
|
<fileset dir="test/src">
|
|
<include name="**/*TestCase.java"/>
|
|
<exclude name="**/*BlackBox*TestCase.java"/>
|
|
<exclude name="**/Abstract*.java"/>
|
|
</fileset>
|
|
</batchtest>
|
|
</junit>
|
|
</target>
|
|
|
|
<target name="test" depends="test-unit,test-blackbox"/>
|
|
|
|
<target name="clean">
|
|
<delete dir="build"/>
|
|
<delete dir="build-test"/>
|
|
<delete dir="optimized"/>
|
|
<delete file="core.jar"/>
|
|
<delete file="ZXingReader.*"/>
|
|
<delete file="proguard-dump.txt"/>
|
|
</target>
|
|
|
|
</project>
|