#!/bin/bash
#
# This script allows you to launch several images
# from this repository once they're built.
#
# Make sure you add the `docker run` command
# in the header of the Dockerfile so the script
# can find it and execute it.
#
# Use pulseaudio/Dockerfile and skype/Dockerfile as examples.
set -e
set -o pipefail

if [[ $# -eq 0 ]]; then
	echo "Usage: $0 [--test] image1 image2 ..."
	exit 1
fi

if [[ "$1" = "--test" ]]; then
	TEST=1
	shift
fi

for name in "$@"; do
	if [[ ! -d "$name" ]]; then
		echo "Unable to find container configuration with name: $name"
		exit 1
	fi

	script=$(sed -n '/docker run/,/^#$/p' "$name/Dockerfile" | head -n -1 | sed "s/#//" | sed "s#\\\\##" | tr '\n' ' ' | sed "s/\$@//" | sed 's/""//')
	echo "Running: $script"

	if [ $TEST ]; then
		echo "$script"
	else
		eval "$script"
	fi

	shift
done