Home | History | Annotate | Download | only in 971-iface-super
      1 #!/bin/bash
      2 #
      3 # Copyright 2015 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 # make us exit on a failure
     18 set -e
     19 
     20 # We will be making more files than the ulimit is set to allow. Remove it temporarily.
     21 OLD_ULIMIT=`ulimit -S`
     22 ulimit -S unlimited
     23 
     24 restore_ulimit() {
     25   ulimit -S "$OLD_ULIMIT"
     26 }
     27 trap 'restore_ulimit' ERR
     28 
     29 # TODO: Support running with jack.
     30 
     31 if [[ $@ == *"--jvm"* ]]; then
     32   # Build the Java files if we are running a --jvm test
     33   mkdir -p classes
     34   mkdir -p src
     35   echo "${JAVAC} \$@" >> ./javac_exec.sh
     36   # This will use java_exec.sh to execute the javac compiler. It will place the
     37   # compiled class files in ./classes and the expected values in expected.txt
     38   #
     39   # After this the src directory will contain the final versions of all files.
     40   ./util-src/generate_java.py ./javac_exec.sh ./src ./classes ./expected.txt ./build_log
     41 else
     42   mkdir -p ./smali
     43   # Generate the smali files and expected.txt or fail
     44   ./util-src/generate_smali.py ./smali ./expected.txt
     45   # Use the default build script
     46   ./default-build "$@" "$EXTRA_ARGS" --experimental default-methods
     47 fi
     48 
     49 # Reset the ulimit back to its initial value
     50 restore_ulimit
     51