#!/usr/bin/env bash set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x docker_args() { declare desc="docker args plugin trigger" local trigger="$0" local STDIN=$(cat) local APP="$1"; local IMAGE_SOURCE_TYPE="$2" case "$0" in *docker-args-build) local PHASE=BUILD ;; *docker-args-deploy) local PHASE=DEPLOY ;; *docker-args-run) local PHASE=RUN ;; esac local FILE_PREFIX="DOCKER_OPTIONS_" local PHASE_FILE_PATH="${DOKKU_ROOT}/${APP}/${FILE_PREFIX}${PHASE}" local output="" if [[ -f "$PHASE_FILE_PATH" ]]; then local DONE=false until $DONE; do local line read -r line || local DONE=true [[ ! -n "$line" ]] && continue # shellcheck disable=SC1001 case "$line" in \#*) continue ;; *) case "$IMAGE_SOURCE_TYPE" in dockerfile) case "$line" in --link*|-v*) continue ;; *) local output="$output $line" ;; esac ;; herokuish) case "$line" in --file*|--build-args*) continue ;; *) local output="$output $line" ;; esac ;; *) local output="$output $line" ;; esac ;; esac done < "$PHASE_FILE_PATH" fi echo -n "$STDIN$output" } docker_args "$@"