57 lines
1.3 KiB
Makefile
57 lines
1.3 KiB
Makefile
# Makefile
|
|
|
|
# --- Variables ---
|
|
IMAGE_NAME := ilp-coursework
|
|
IMAGE_TAG := 0.1
|
|
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}
|