blob: b2bb17058dda8342c7b2faac4ab3cbe9f85c39bd [file] [log] [blame] [edit]
#!/bin/bash
declare -A INNER
declare -A PARAMETER
declare -A IMPORT
ANNOTATIONS=(
org.jspecify.nullness.Nullable
org.jspecify.nullness.NullMarked
)
for a in ${ANNOTATIONS[@]}; do
package=${a%.*}
class=${a##*.}
dir=$(dirname $0)/src/${package//.//}
file=${class}.java
inner=${INNER[$a]}
parameter=${PARAMETER[$a]}
import=
if [ -n "${parameter}" ]; then
parameter="${parameter} value();"
fi
for i in ${IMPORT[$a]}; do
import="${import}import ${i};"
done
mkdir -p ${dir}
sed -e"s/__PACKAGE__/${package}/" \
-e"s/__CLASS__/${class}/" \
-e"s/__INNER__/${inner}/" \
-e"s/__PARAMETER__/${parameter}/" \
-e"s/__IMPORT__/${import}/" \
$(dirname $0)/tmpl.java > ${dir}/${file}
google-java-format -i ${dir}/${file}
done