1#!/bin/bash 2# 3# Copyright (C) 2018 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# Execute dasm for the given programs. 18prog="$0" 19dasm="$1" 20shift 21soong_zip="$1" 22shift 23gen_dir="$1" 24shift 25out="$1" 26shift 27 28# dasm is hardcoded to produce an output file as if it was a Java input: 29# * package is translated to path components 30# * single dex file with the name of the class 31 32GENDIR="$gen_dir/tmp/tests" 33mkdir -p $GENDIR || exit 1 34 35for IN in $@ ; do 36 # Strip cts/tools/vm-tests-tf/src 37 TESTDIR_DFH=${IN#cts/tools/vm-tests-tf/src} 38 TESTDIR=${TESTDIR_DFH%.d} 39 TESTNAME=`basename $TESTDIR` 40 TESTDIRPARENT=`dirname $TESTDIR` 41 42 # Assemble. 43 $dasm -d $GENDIR $IN || exit 1 44 # Rename to classes.dex. 45 mv $GENDIR/$TESTDIR.dex $GENDIR/$TESTDIRPARENT/classes.dex 46 # Wrap inside jar. 47 $soong_zip -o $GENDIR/$TESTDIR.jar -C $GENDIR/$TESTDIRPARENT -f $GENDIR/$TESTDIRPARENT/classes.dex || exit 1 48 rm $GENDIR/$TESTDIRPARENT/classes.dex || exit 1 49done 50 51# Create the final jar. 52$soong_zip -o $out -C $gen_dir/tmp -D $gen_dir/tmp || exit 1 53rm -rf $gen_dir/tmp || exit 1 54