1#!/bin/bash 2# 3# Copyright (C) 2012 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# Stop if something fails. 18set -e 19 20mkdir classes 21 22# android.test.anno.MissingAnnotation is available at compile time... 23${JAVAC} -d classes `find src -name '*.java'` 24# overwrite RenamedEnum 25${JAVAC} -d classes `find src2 -name '*.java'` 26 27# ...but not at run time. 28rm 'classes/android/test/anno/MissingAnnotation.class' 29rm 'classes/android/test/anno/ClassWithInnerAnnotationClass$MissingInnerAnnotationClass.class' 30 31if [ ${USE_JACK} = "true" ]; then 32 jar cf classes.jill.jar -C classes . 33 # Jack needs to emit annotations with CLASS retention. 34 ${JACK} -D jack.dex.annotation.class-retention=true --import classes.jill.jar --output-dex . 35else 36 if [ ${NEED_DEX} = "true" ]; then 37 ${DX} -JXmx256m --debug --dex --output=classes.dex classes 38 fi 39fi 40 41if [ ${NEED_DEX} = "true" ]; then 42 zip $TEST_NAME.jar classes.dex 43fi 44