#!/bin/sh SCRIPTPATH="$(dirname $(readlink -f "$0"))" cd "$SCRIPTPATH" makefile=" all: .cleansrc .cleansrc: src/* bash do.sh cleansrc src container/src touch .cleansrc " shopt -s expand_aliases alias pushd="pushd &>/dev/null" alias popd="popd &>/dev/null" if [ "$1" == "compose" ]; then # ensure container files are up to date make --file <(echo "$makefile") # forward commands to compose pushd container docker-compose ${@:2} popd elif [ "$1" == "cleansrc" ]; then # copy files src="$2" dst="$3" [ -e "$dst" ] && rm -rf "$dst" cp -r "$src" "$dst" # strip comments find "$dst" | while read path; do if [ -f "$path" ]; then sed -i -e 's/^\s*\/\*.*\*\/\s*$//g' "$path" # remove /* */ style comments sed -i -e 's/\s*\/\*.*\*\/\s*/ /g' "$path" # remove /* */ style comments sed -i -e 's/\/\/.*//g' "$path" # remove // style comments sed -i -e ':a;N;$!ba;s/\n{2,}/\n/g' "$path" # collapse multiple newlines fi done else echo "USAGE: do.sh (compose) [args..]" echo "EXAMPLES:" echo " do.sh compose up --build # starts the docker container" fi