git-lfs/docker/docker+.bsh

38 lines
939 B
Bash
Executable File

#!/usr/bin/env bash
set -eu
if [[ $# == 0 ]]; then
FILES=(-)
else
FILES=("${@}")
fi
CUR_DIR=$(dirname ${BASH_SOURCE[0]})
for FILE in "${FILES[@]}"; do
if [ "${FILE}" == "-" ]; then
FILE=/dev/stdin
fi
while IFS='' read -r LINE || [ -n "${LINE}" ]; do
#https://gist.github.com/niclashoyer/8146033
LINE=$(echo "$LINE" | perl -p -e 's/\[\{([^}:]+)(:([^}:]+))?\}\]/defined $ENV{$1} ? $ENV{$1} : $3/eg')
#My SOURCE substitution
if echo $LINE | grep -q ^SOURCE; then
SOURCE=$(echo "${LINE}" | sed -E 's|^SOURCE[ ]+(.*)|\1|')
if [ "${SOURCE:0:1}" != "/" ] && [ -f "${CUR_DIR}/${SOURCE}" ]; then
SOURCE="${CUR_DIR}/${SOURCE}"
fi
if [ ! -f "${SOURCE}" ]; then
echo "Could not find a readable ${SOURCE}" >& 2
exit 1
fi
"${BASH_SOURCE[0]}" "${SOURCE}" | grep -vi '^FROM' | grep -vi '^MAINTAINER'
else
echo "${LINE}"
fi
done < ${FILE}
done