1081c7142b29ccd6e1744b26e097b6a4d7c12f2bdJesse Wilson#!/bin/bash
2081c7142b29ccd6e1744b26e097b6a4d7c12f2bdJesse Wilson#
3081c7142b29ccd6e1744b26e097b6a4d7c12f2bdJesse Wilson# Copyright (C) 2007 The Android Open Source Project
4081c7142b29ccd6e1744b26e097b6a4d7c12f2bdJesse Wilson#
5081c7142b29ccd6e1744b26e097b6a4d7c12f2bdJesse Wilson# Licensed under the Apache License, Version 2.0 (the "License");
6081c7142b29ccd6e1744b26e097b6a4d7c12f2bdJesse Wilson# you may not use this file except in compliance with the License.
7081c7142b29ccd6e1744b26e097b6a4d7c12f2bdJesse Wilson# You may obtain a copy of the License at
8081c7142b29ccd6e1744b26e097b6a4d7c12f2bdJesse Wilson#
9081c7142b29ccd6e1744b26e097b6a4d7c12f2bdJesse Wilson#     http://www.apache.org/licenses/LICENSE-2.0
10081c7142b29ccd6e1744b26e097b6a4d7c12f2bdJesse Wilson#
11081c7142b29ccd6e1744b26e097b6a4d7c12f2bdJesse Wilson# Unless required by applicable law or agreed to in writing, software
12081c7142b29ccd6e1744b26e097b6a4d7c12f2bdJesse Wilson# distributed under the License is distributed on an "AS IS" BASIS,
13081c7142b29ccd6e1744b26e097b6a4d7c12f2bdJesse Wilson# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14081c7142b29ccd6e1744b26e097b6a4d7c12f2bdJesse Wilson# See the License for the specific language governing permissions and
15081c7142b29ccd6e1744b26e097b6a4d7c12f2bdJesse Wilson# limitations under the License.
16081c7142b29ccd6e1744b26e097b6a4d7c12f2bdJesse Wilson
17081c7142b29ccd6e1744b26e097b6a4d7c12f2bdJesse Wilson# Find dx.jar from dx in the android dev tree
18081c7142b29ccd6e1744b26e097b6a4d7c12f2bdJesse Wilsonprog=`which dx`
19081c7142b29ccd6e1744b26e097b6a4d7c12f2bdJesse Wilsonprogdir=`dirname "${prog}"`
20324d2f23a7174848f7d130c43c903325c99a93c7Jesse Wilsondxjar=$progdir/../framework/dx.jar
21081c7142b29ccd6e1744b26e097b6a4d7c12f2bdJesse Wilson
22324d2f23a7174848f7d130c43c903325c99a93c7Jesse Wilsonjavac -cp $dxjar `find . -name "*.java"`
23324d2f23a7174848f7d130c43c903325c99a93c7Jesse Wilsondx --dex --output=test.jar com/android/dx/merge/* $dxjar
24324d2f23a7174848f7d130c43c903325c99a93c7Jesse Wilson
25324d2f23a7174848f7d130c43c903325c99a93c7Jesse Wilson# Build a resource .jar containing the .dex files to merge
2609d308b04b7c4fd3ed83a8f8f4c07be67a25478cJesse Wilsondx --dex --output=testdata/Annotated.dex testdata/Annotated*
2709d308b04b7c4fd3ed83a8f8f4c07be67a25478cJesse Wilsondx --dex --output=testdata/Basic.dex testdata/Basic*
2809d308b04b7c4fd3ed83a8f8f4c07be67a25478cJesse Wilsondx --dex --output=testdata/FillArrayData.dex testdata/FillArrayData*
2909d308b04b7c4fd3ed83a8f8f4c07be67a25478cJesse Wilsondx --dex --output=testdata/StaticValues.dex testdata/StaticValues*
3009d308b04b7c4fd3ed83a8f8f4c07be67a25478cJesse Wilsondx --dex --output=testdata/TryCatchFinally.dex testdata/TryCatchFinally*
31081c7142b29ccd6e1744b26e097b6a4d7c12f2bdJesse Wilsonjar cfM resources.jar testdata/*.dex
32081c7142b29ccd6e1744b26e097b6a4d7c12f2bdJesse Wilson
33324d2f23a7174848f7d130c43c903325c99a93c7Jesse Wilsondalvik -classpath test.jar:resources.jar \
34324d2f23a7174848f7d130c43c903325c99a93c7Jesse Wilson  junit.textui.TestRunner com.android.dx.merge.DexMergeTest > unit-out.txt
35081c7142b29ccd6e1744b26e097b6a4d7c12f2bdJesse Wilson
36081c7142b29ccd6e1744b26e097b6a4d7c12f2bdJesse Wilsonif [ "$?" = "0" ]; then
37081c7142b29ccd6e1744b26e097b6a4d7c12f2bdJesse Wilson    echo "Yay!"
38081c7142b29ccd6e1744b26e097b6a4d7c12f2bdJesse Wilsonelse
39081c7142b29ccd6e1744b26e097b6a4d7c12f2bdJesse Wilson    cat unit-out.txt
40081c7142b29ccd6e1744b26e097b6a4d7c12f2bdJesse Wilsonfi
41