#!/bin/bash

set -u

APP_DEST="${TRIM_APPDEST:?缺少 TRIM_APPDEST}"
APP_VAR="${TRIM_PKGVAR:?缺少 TRIM_PKGVAR}"
APP_ETC="${TRIM_PKGETC:?缺少 TRIM_PKGETC}"
CONFIG_TEMPLATE="${APP_DEST}/config/application.properties.template"
CONFIG_FILE="${APP_ETC}/application.properties"

escape_replacement() {
    printf '%s' "$1" | sed 's/[&|\\]/\\&/g'
}

mkdir -p "$APP_VAR/db" "$APP_VAR/logs" "$APP_ETC"

if [[ ! -f "$CONFIG_FILE" ]]; then
    app_var="$(escape_replacement "$APP_VAR")"
    app_dest="$(escape_replacement "$APP_DEST")"
    sed \
        -e "s|@@APP_VAR@@|${app_var}|g" \
        -e "s|@@APP_DEST@@|${app_dest}|g" \
        "$CONFIG_TEMPLATE" > "${CONFIG_FILE}.tmp" || exit 1
    mv "${CONFIG_FILE}.tmp" "$CONFIG_FILE"
    chmod 600 "$CONFIG_FILE"
fi

exit 0

