git-lfs/docker/docker+.bsh
Andy Neff f32a0ac33b Made more Mac/BSD Friendly
Fixes small bug involving determining relative path
2015-08-04 20:16:33 -04:00

40 lines
946 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
#My template substitution
while [[ "$LINE" =~ (\[\{)([A-Za-z0-9_]*)(\}\]) ]]; do
LINE=${LINE/"${BASH_REMATCH[0]}"/${!BASH_REMATCH[2]-}}
done
#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