52 lines
1.7 KiB
Bash
Executable File
52 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Creates stubs for the checker framework annotations.
|
|
|
|
ANNOTATIONS=(
|
|
kotlin.annotations.jvm.UnderMigration
|
|
org.checkerframework.checker.initialization.qual.UnknownInitialization
|
|
org.checkerframework.checker.nullness.compatqual.NullableType
|
|
org.checkerframework.checker.nullness.qual.EnsuresNonNull
|
|
org.checkerframework.checker.nullness.qual.EnsuresNonNullIf
|
|
org.checkerframework.checker.nullness.qual.MonotonicNonNull
|
|
org.checkerframework.checker.nullness.qual.NonNull
|
|
org.checkerframework.checker.nullness.qual.Nullable
|
|
org.checkerframework.checker.nullness.qual.PolyNull
|
|
org.checkerframework.checker.nullness.qual.RequiresNonNull
|
|
org.checkerframework.dataflow.qual.Pure
|
|
)
|
|
|
|
ENUMS=(
|
|
kotlin.annotations.jvm.MigrationStatus
|
|
)
|
|
|
|
rm -r $(dirname $0)/src/*
|
|
|
|
autogenerated_notice="NOTE: This is an autogenerated file. Do not modify its \
|
|
contents. See annotation_template.java and gen_annotations.sh under \
|
|
platform\/external\/exoplayer\/annotation-stubs."
|
|
|
|
for a in ${ANNOTATIONS[@]}; do
|
|
package=${a%.*}
|
|
class=${a##*.}
|
|
dir=$(dirname $0)/src/${package//.//}
|
|
value_type="String[]"
|
|
file=${class}.java
|
|
mkdir -p ${dir}
|
|
sed -e"s/__PACKAGE__/${package}/"\
|
|
-e"s/__AUTOGENERATED_NOTICE__/${autogenerated_notice}/"\
|
|
-e"s/__CLASS__/${class}/"\
|
|
-e"s/__VALUE_TYPE__/${value_type}/"\
|
|
annotation_template.java > ${dir}/${file}
|
|
google-java-format -i ${dir}/${file}
|
|
done
|
|
|
|
for a in ${ENUMS[@]}; do
|
|
package=${a%.*}
|
|
class=${a##*.}
|
|
dir=$(dirname $0)/src/${package//.//}
|
|
file=${class}.java
|
|
mkdir -p ${dir}
|
|
sed -e"s/__PACKAGE__/${package}/" -e"s/__CLASS__/${class}/" enum_template.java > ${dir}/${file}
|
|
done
|