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