1*30877f79SAndroid Build Coastguard Worker#!/bin/bash 2*30877f79SAndroid Build Coastguard Worker 3*30877f79SAndroid Build Coastguard Worker# Creates stubs for the checker framework annotations. 4*30877f79SAndroid Build Coastguard Worker 5*30877f79SAndroid Build Coastguard WorkerANNOTATIONS=( 6*30877f79SAndroid Build Coastguard Worker kotlin.annotations.jvm.UnderMigration 7*30877f79SAndroid Build Coastguard Worker org.checkerframework.checker.initialization.qual.UnknownInitialization 8*30877f79SAndroid Build Coastguard Worker org.checkerframework.checker.nullness.compatqual.NullableType 9*30877f79SAndroid Build Coastguard Worker org.checkerframework.checker.nullness.qual.EnsuresNonNull 10*30877f79SAndroid Build Coastguard Worker org.checkerframework.checker.nullness.qual.EnsuresNonNullIf 11*30877f79SAndroid Build Coastguard Worker org.checkerframework.checker.nullness.qual.MonotonicNonNull 12*30877f79SAndroid Build Coastguard Worker org.checkerframework.checker.nullness.qual.NonNull 13*30877f79SAndroid Build Coastguard Worker org.checkerframework.checker.nullness.qual.Nullable 14*30877f79SAndroid Build Coastguard Worker org.checkerframework.checker.nullness.qual.PolyNull 15*30877f79SAndroid Build Coastguard Worker org.checkerframework.checker.nullness.qual.RequiresNonNull 16*30877f79SAndroid Build Coastguard Worker org.checkerframework.dataflow.qual.Pure 17*30877f79SAndroid Build Coastguard Worker) 18*30877f79SAndroid Build Coastguard Worker 19*30877f79SAndroid Build Coastguard WorkerENUMS=( 20*30877f79SAndroid Build Coastguard Worker kotlin.annotations.jvm.MigrationStatus 21*30877f79SAndroid Build Coastguard Worker) 22*30877f79SAndroid Build Coastguard Worker 23*30877f79SAndroid Build Coastguard Workerrm -r $(dirname $0)/src/* 24*30877f79SAndroid Build Coastguard Worker 25*30877f79SAndroid Build Coastguard Workerautogenerated_notice="NOTE: This is an autogenerated file. Do not modify its \ 26*30877f79SAndroid Build Coastguard Workercontents. See annotation_template.java and gen_annotations.sh under \ 27*30877f79SAndroid Build Coastguard Workerplatform\/external\/exoplayer\/annotation-stubs." 28*30877f79SAndroid Build Coastguard Worker 29*30877f79SAndroid Build Coastguard Workerfor a in ${ANNOTATIONS[@]}; do 30*30877f79SAndroid Build Coastguard Worker package=${a%.*} 31*30877f79SAndroid Build Coastguard Worker class=${a##*.} 32*30877f79SAndroid Build Coastguard Worker dir=$(dirname $0)/src/${package//.//} 33*30877f79SAndroid Build Coastguard Worker value_type="String[]" 34*30877f79SAndroid Build Coastguard Worker file=${class}.java 35*30877f79SAndroid Build Coastguard Worker mkdir -p ${dir} 36*30877f79SAndroid Build Coastguard Worker sed -e"s/__PACKAGE__/${package}/"\ 37*30877f79SAndroid Build Coastguard Worker -e"s/__AUTOGENERATED_NOTICE__/${autogenerated_notice}/"\ 38*30877f79SAndroid Build Coastguard Worker -e"s/__CLASS__/${class}/"\ 39*30877f79SAndroid Build Coastguard Worker -e"s/__VALUE_TYPE__/${value_type}/"\ 40*30877f79SAndroid Build Coastguard Worker annotation_template.java > ${dir}/${file} 41*30877f79SAndroid Build Coastguard Worker google-java-format -i ${dir}/${file} 42*30877f79SAndroid Build Coastguard Workerdone 43*30877f79SAndroid Build Coastguard Worker 44*30877f79SAndroid Build Coastguard Workerfor a in ${ENUMS[@]}; do 45*30877f79SAndroid Build Coastguard Worker package=${a%.*} 46*30877f79SAndroid Build Coastguard Worker class=${a##*.} 47*30877f79SAndroid Build Coastguard Worker dir=$(dirname $0)/src/${package//.//} 48*30877f79SAndroid Build Coastguard Worker file=${class}.java 49*30877f79SAndroid Build Coastguard Worker mkdir -p ${dir} 50*30877f79SAndroid Build Coastguard Worker sed -e"s/__PACKAGE__/${package}/" -e"s/__CLASS__/${class}/" enum_template.java > ${dir}/${file} 51*30877f79SAndroid Build Coastguard Workerdone 52