• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/bin/bash
2#
3# Copyright (C) 2014 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
20export ORIGINAL_JAVAC="$JAVAC"
21
22# Wrapper function for javac which invokes the compiler and applies
23# additional setup steps for the test.
24function javac_wrapper {
25  set -e # Stop on error - the caller script may not have this set.
26
27  if [[ "$*" != *"classes2"* ]]; then
28    # First invocation: compile src/ files.
29    $ORIGINAL_JAVAC "$@"
30  else
31    # Second invocation: move MirandaInterface.class for placement in
32    # a secondary dex file. There are no other source files for the
33    # secondary DEX so no compilation required.
34    mv classes/MirandaInterface.class classes2
35  fi
36  return $?
37}
38
39export -f javac_wrapper
40export JAVAC=javac_wrapper
41
42######################################################################
43
44# Signal to default-build that this is a multidex test.
45mkdir src-multidex
46./default-build "$@"
47