summaryrefslogtreecommitdiff
path: root/contrib/docker/build_docker.sh
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/docker/build_docker.sh')
-rwxr-xr-xcontrib/docker/build_docker.sh30
1 files changed, 24 insertions, 6 deletions
diff --git a/contrib/docker/build_docker.sh b/contrib/docker/build_docker.sh
index b59e2158..dafacbe7 100755
--- a/contrib/docker/build_docker.sh
+++ b/contrib/docker/build_docker.sh
@@ -1,11 +1,29 @@
#!/bin/sh
-ver="0.1"
+PROJECT_PATH="$(git rev-parse --show-toplevel)"
+PROJECT_NAME="pokediamond"
+PROJECT_VER="0.1"
-docker inspect pokediamond:$ver > /dev/null
-if [ $? = 0 ]; then
- echo "Not rebuilding image since image exists";
+# Build container image
+IMAGE_NAME="$PROJECT_NAME:$PROJECT_VER"
+IMAGE_PATH="$PROJECT_PATH/contrib/docker"
+if docker inspect $IMAGE_NAME > /dev/null; then
+ echo "Not rebuilding image since it already exists";
+elif [ "x$USE_UBUNTU" != "x" ]; then
+ docker build -t $IMAGE_NAME -f $IMAGE_PATH/Dockerfile.ubuntu $IMAGE_PATH
else
- docker build -t pokediamond:$ver $(git rev-parse --show-toplevel)/contrib/docker
+ docker build -t $IMAGE_NAME $IMAGE_PATH
fi
-docker run --network=none -it -v $(git rev-parse --show-toplevel):/app pokediamond:$ver
+
+# Start container and wine server
+CONTAINER_NAME="$PROJECT_NAME-build"
+docker run -d --name $CONTAINER_NAME --network=none -it --rm -v $PROJECT_PATH:/app $IMAGE_NAME
+
+# Build selected project, always exit successfully to ensure container stops
+EXIT_CODE="0"
+docker exec -i -t $CONTAINER_NAME make $@ || EXIT_CODE="$?"
+
+# Exit and remove the container
+docker stop $CONTAINER_NAME
+
+exit $EXIT_CODE