xref: /aosp_15_r20/external/guava/android-annotation-stubs/gen_annotations.sh (revision fb5080426417cab6bd44d0ed3f37e47d42859579)
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