Add a convenience to build all artifacts.

Reviewed at https://reviews.apache.org/r/37861/
diff --git a/build-artifact.sh b/build-artifact.sh
index bb24b36..30e4384 100755
--- a/build-artifact.sh
+++ b/build-artifact.sh
@@ -19,34 +19,55 @@
   find builder -name Dockerfile | sed "s/\/Dockerfile$//"
 }
 
-if [[ $# -ne 3 ]]; then
-  echo "usage: $0 BUILDER RELEASE_TAR AURORA_VERSION"
-  echo 'Where BUILDER is a builder directory in:'
-  print_available_builders
-  exit 1
-else
-  BUILDER_DIR=$1
-  RELEASE_TAR=$2
-  AURORA_VERSION=$3
-fi
-
-IMAGE_NAME="aurora-$(basename $BUILDER_DIR)"
-echo "Using docker image $IMAGE_NAME"
-docker build -t "$IMAGE_NAME" "$BUILDER_DIR"
-
-function realpath {
+realpath() {
   echo "$(cd "$(dirname "$1")"; pwd)/$(basename "$1")"
 }
 
-ARTIFACT_DIR="$(pwd)/dist/$BUILDER_DIR"
-mkdir -p $ARTIFACT_DIR
-docker run \
-  --rm \
-  -e AURORA_VERSION=$AURORA_VERSION \
-  -v "$(pwd)/specs:/specs:ro" \
-  -v "$(realpath $RELEASE_TAR):/src.tar.gz:ro" \
-  -v "$ARTIFACT_DIR:/dist" \
-  -t "$IMAGE_NAME" /build.sh
+run_build() {
+  BUILDER_DIR=$1
+  RELEASE_TAR=$2
+  AURORA_VERSION=$3
 
-echo "Produced artifacts in $ARTIFACT_DIR:"
-ls $ARTIFACT_DIR
+  IMAGE_NAME="aurora-$(basename $BUILDER_DIR)"
+  echo "Using docker image $IMAGE_NAME"
+  docker build -t "$IMAGE_NAME" "$BUILDER_DIR"
+
+  ARTIFACT_DIR="$(pwd)/dist/$BUILDER_DIR"
+  mkdir -p $ARTIFACT_DIR
+  docker run \
+    --rm \
+    -e AURORA_VERSION=$AURORA_VERSION \
+    -v "$(pwd)/specs:/specs:ro" \
+    -v "$(realpath $RELEASE_TAR):/src.tar.gz:ro" \
+    -v "$ARTIFACT_DIR:/dist" \
+    -t "$IMAGE_NAME" /build.sh
+
+  echo "Produced artifacts in $ARTIFACT_DIR:"
+  ls $ARTIFACT_DIR
+}
+
+case $# in
+  2)
+    for builder in $(print_available_builders); do
+      run_build $builder $1 $2
+      echo $builder
+    done
+    ;;
+
+  3)
+    run_build "$@"
+    ;;
+
+  *)
+    echo 'usage:'
+    echo 'to build all artifacts:'
+    echo "  $0 RELEASE_TAR AURORA_VERSION"
+    echo
+    echo 'or to build a specific artifact:'
+    echo "  $0 BUILDER RELEASE_TAR AURORA_VERSION"
+    echo
+    echo 'Where BUILDER is a builder directory in:'
+    print_available_builders
+    exit 1
+    ;;
+esac