Home | History | Annotate | Download | only in 121-modifiers
      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.
     18 set -e
     19 
     20 # The classes are pre-compiled and modified with ASM.
     21 #
     22 # To reproduce, compile the source files. Asm.java needs the ASM libraries (core and tree). Then
     23 # run Asm.java, which produces Inf.out and NonInf.out. Rename these to class files and put them
     24 # into the classes directory (this assumes the ASM libraries are names asm.jar and asm-tree.jar):
     25 #
     26 # javac Inf.java NonInf.java Main.java
     27 # javac -cp asm.jar:asm-tree.jar:. Asm.java
     28 # java -cp asm.jar:asm-tree.jar:. Asm
     29 # mv Inf.out classes/Inf.class
     30 # mv NonInf.out classes/NonInf.class
     31 # mv Main.class A.class A\$B.class A\$C.class classes/
     32 
     33 if [ ${USE_JACK} = "true" ]; then
     34   jar cf classes.jill.jar -C classes .
     35   # Workaround b/19561685: disable sanity checks to produce a DEX file with invalid modifiers.
     36   ${JACK} --sanity-checks off --import classes.jill.jar --output-dex .
     37 else
     38   ${DX} --debug --dex --dump-to=classes.lst --output=classes.dex classes
     39 fi
     40 zip $TEST_NAME.jar classes.dex
     41