ilpcw/Makefile

57 lines
1.3 KiB
Makefile

# Makefile
# --- Variables ---
IMAGE_NAME := ilp-coursework
IMAGE_TAG := 0.2
FULL_IMAGE_NAME := ${IMAGE_NAME}:${IMAGE_TAG}
CONTAINER_NAME := ilp-coursework-app
SUBMISSION_FILE := ilp_submission_image.tar
# --- Targets ---
# Default command
.PHONY: all
all: save
.PHONY: build
build:
./gradlew build
.PHONY: docker-build
docker-build: build
docker build -t ${FULL_IMAGE_NAME} .
# Run the container in detached mode.
# It will first stop and remove any existing container with the same name.
.PHONY: run
run: docker-build
@echo "Stopping and removing old container if it exists..."
# -docker stop ${CONTAINER_NAME} > /dev/null 2>&1 || true
# -docker rm ${CONTAINER_NAME} > /dev/null 2>&1 || true
docker-compose stop
@echo "Starting new container '${CONTAINER_NAME}' on http://localhost:8080"
docker-compose up -d
.PHONY: stop
stop:
@echo "Stopping and removing container: ${CONTAINER_NAME}"
# -docker stop ${CONTAINER_NAME} > /dev/null 2>&1 || true
# -docker rm ${CONTAINER_NAME} > /dev/null 2>&1 || true
docker-compose stop > /dev/null 2>&1 || true
# --- Submission Target ---
.PHONY: save
save: docker-build
docker save -o ${SUBMISSION_FILE} ${FULL_IMAGE_NAME}
@echo "Submission file '${SUBMISSION_FILE}' created successfully."
# --- Utility Target ---
.PHONY: clean
clean:
./gradlew clean
-rm -f ${SUBMISSION_FILE}