1*fb508042SAndroid Build Coastguard Worker#!/bin/bash 2*fb508042SAndroid Build Coastguard Worker 3*fb508042SAndroid Build Coastguard WorkerANNOTATIONS=( 4*fb508042SAndroid Build Coastguard Worker org.checkerframework.checker.nullness.compatqual.MonotonicNonNullDecl 5*fb508042SAndroid Build Coastguard Worker org.checkerframework.checker.nullness.compatqual.NullableDecl 6*fb508042SAndroid Build Coastguard Worker org.checkerframework.checker.nullness.compatqual.NonNullDecl 7*fb508042SAndroid Build Coastguard Worker org.checkerframework.checker.nullness.qual.NonNull 8*fb508042SAndroid Build Coastguard Worker org.checkerframework.checker.nullness.qual.Nullable 9*fb508042SAndroid Build Coastguard Worker org.checkerframework.checker.nullness.qual.MonotonicNonNull 10*fb508042SAndroid Build Coastguard Worker org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement 11*fb508042SAndroid Build Coastguard Worker com.google.j2objc.annotations.J2ObjCIncompatible 12*fb508042SAndroid Build Coastguard Worker com.google.j2objc.annotations.WeakOuter 13*fb508042SAndroid Build Coastguard Worker com.google.j2objc.annotations.Weak 14*fb508042SAndroid Build Coastguard Worker com.google.j2objc.annotations.ReflectionSupport 15*fb508042SAndroid Build Coastguard Worker com.google.j2objc.annotations.RetainedWith 16*fb508042SAndroid Build Coastguard Worker) 17*fb508042SAndroid Build Coastguard Worker 18*fb508042SAndroid Build Coastguard Workerfor a in ${ANNOTATIONS[@]}; do 19*fb508042SAndroid Build Coastguard Worker package=${a%.*} 20*fb508042SAndroid Build Coastguard Worker class=${a##*.} 21*fb508042SAndroid Build Coastguard Worker dir=$(dirname $0)/src/${package//.//} 22*fb508042SAndroid Build Coastguard Worker file=${class}.java 23*fb508042SAndroid Build Coastguard Worker 24*fb508042SAndroid Build Coastguard Worker mkdir -p ${dir} 25*fb508042SAndroid Build Coastguard Worker sed -e"s/__PACKAGE__/${package}/" -e"s/__CLASS__/${class}/" tmpl.java > ${dir}/${file} 26*fb508042SAndroid Build Coastguard Workerdone 27*fb508042SAndroid Build Coastguard Worker 28*fb508042SAndroid Build Coastguard Workerf=$(dirname $0)/src/com/google/j2objc/annotations/ReflectionSupport.java 29*fb508042SAndroid Build Coastguard Workerhead -n-1 ${f} > ${f}.tmp 30*fb508042SAndroid Build Coastguard Worker 31*fb508042SAndroid Build Coastguard Workercat >> ${f}.tmp <<EOF 32*fb508042SAndroid Build Coastguard Workerpublic @interface ReflectionSupport { 33*fb508042SAndroid Build Coastguard Worker enum Level { 34*fb508042SAndroid Build Coastguard Worker FULL 35*fb508042SAndroid Build Coastguard Worker } 36*fb508042SAndroid Build Coastguard Worker 37*fb508042SAndroid Build Coastguard Worker Level value(); 38*fb508042SAndroid Build Coastguard Worker} 39*fb508042SAndroid Build Coastguard WorkerEOF 40*fb508042SAndroid Build Coastguard Worker 41*fb508042SAndroid Build Coastguard Workermv ${f}.tmp ${f} 42*fb508042SAndroid Build Coastguard Worker 43