1#!/bin/bash 2# 3# Copyright (C) 2007 The Android Open Source Project 4# 5# Licensed under the Apache License, Version 2.0 (the "License"); 6# you may not use this file except in compliance with the License. 7# You may obtain a copy of the License at 8# 9# http://www.apache.org/licenses/LICENSE-2.0 10# 11# Unless required by applicable law or agreed to in writing, software 12# distributed under the License is distributed on an "AS IS" BASIS, 13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14# See the License for the specific language governing permissions and 15# limitations under the License. 16 17# Find dx.jar from dx in the android dev tree 18prog=`which dx` 19progdir=`dirname "${prog}"` 20dxjar=$progdir/../framework/dx.jar 21junitjar=$progdir/../framework/junit-host.jar 22junitdex=$progdir/../framework/junit-hostdex.jar 23 24for i in "$dxjar" "$junitjar" "$junitdex"; do 25 if [ ! -r $i ]; then 26 echo Missing dependency $i. Build dx-tests. 27 exit 1 28 fi 29done 30 31javac -source 1.7 -target 1.7 -cp $dxjar:$junitjar `find . -name "*.java"` 32if [ $? != 0 ]; then 33 echo Failed java compilation. 34 exit 1 35fi 36 37dx --dex --output=test.jar com/android/dx/merge/* $dxjar 38 39# Build a resource .jar containing the .dex files to merge 40dx --dex --output=testdata/Annotated.dex testdata/Annotated* 41dx --dex --output=testdata/Basic.dex testdata/Basic* 42dx --dex --output=testdata/FillArrayData.dex testdata/FillArrayData* 43dx --dex --output=testdata/StaticValues.dex testdata/StaticValues* 44dx --dex --output=testdata/TryCatchFinally.dex testdata/TryCatchFinally* 45jar cfM resources.jar testdata/*.dex 46 47art -classpath test.jar:$junitdex:resources.jar \ 48 junit.textui.TestRunner com.android.dx.merge.DexMergeTest > unit-out.txt 2>&1 49 50if [ "$?" = "0" ]; then 51 echo "Yay!" 52else 53 cat unit-out.txt 54fi 55