#!/bin/bash declare -A INNER declare -A PARAMETER declare -A IMPORT ANNOTATIONS=( net.ltgt.gradle.incap.IncrementalAnnotationProcessor ) PARAMETER["net.ltgt.gradle.incap.IncrementalAnnotationProcessor"]="IncrementalAnnotationProcessorType" IMPORT["net.ltgt.gradle.incap.IncrementalAnnotationProcessor"]="net.ltgt.gradle.incap.IncrementalAnnotationProcessorType" 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 f=$(dirname $0)/src/net/ltgt/gradle/incap/IncrementalAnnotationProcessorType.java cat > ${f} <