.PHONY: up down status backend-build build release COMPOSE_CMD := $(shell if command -v docker >/dev/null 2>&1 && docker compose version >/dev/null 2>&1; then echo "docker compose"; elif command -v docker-compose >/dev/null 2>&1; then echo "docker-compose"; fi) VERSION := 1.0.0 JAR_NAME := svn-log-tool-$(VERSION)-jar-with-dependencies.jar backend-build: @cd backend && mvn clean package -DskipTests build: @cd backend && mvn clean package -DskipTests up: @if [ -z "$(COMPOSE_CMD)" ]; then echo "docker compose/docker-compose not found"; exit 1; fi @$(COMPOSE_CMD) up -d --build @echo "Application is starting at http://localhost:18088" down: @if [ -z "$(COMPOSE_CMD)" ]; then echo "docker compose/docker-compose not found"; exit 1; fi @$(COMPOSE_CMD) down status: @if [ -z "$(COMPOSE_CMD)" ]; then echo "docker compose/docker-compose not found"; exit 1; fi @$(COMPOSE_CMD) ps @echo "Access URL: http://localhost:18088" release: @echo "Building release packages..." @cd backend && mvn clean package -DskipTests @echo "Copying jar to release directories..." @cp backend/target/$(JAR_NAME) release/windows/ @cp backend/target/$(JAR_NAME) release/unix/ @echo "Creating release archives..." @cd release/windows && zip -r ../svn-log-tool-$(VERSION)-windows.zip * && cd ../.. @cd release/unix && tar czf ../svn-log-tool-$(VERSION)-unix.tar.gz * && cd ../.. @cd release/docker && cp ../../Dockerfile . && cp docker-compose.yml docker-compose.yml.release && tar czf ../svn-log-tool-$(VERSION)-docker.tar.gz * && rm Dockerfile docker-compose.yml.release && cd ../.. @echo "Release packages created in release/ directory:" @ls -lh release/*.zip release/*.tar.gz 2>/dev/null || true @echo "Done!"