Files
svn-log-tool/Makefile
T
2026-04-22 14:55:24 +08:00

40 lines
1.7 KiB
Makefile

.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!"