.ONESHELL: .POSIX: .DEFAULT_GOAL := build IMGFLOAT_DB_PATH ?= ./imgfloat.db IMGFLOAT_GITHUB_OWNER ?= imgfloat IMGFLOAT_GITHUB_REPO ?= client IMGFLOAT_ASSETS_PATH ?= ./assets IMGFLOAT_PREVIEWS_PATH ?= ./previews SPRING_SERVLET_MULTIPART_MAX_REQUEST_SIZE ?= 10MB SPRING_SERVLET_MULTIPART_MAX_FILE_SIZE ?= 10MB WATCHDIR = ./src/main RUNTIME_ENV = IMGFLOAT_ASSETS_PATH=$(IMGFLOAT_ASSETS_PATH) \ IMGFLOAT_PREVIEWS_PATH=$(IMGFLOAT_PREVIEWS_PATH) \ IMGFLOAT_GITHUB_OWNER=$(IMGFLOAT_GITHUB_OWNER) \ IMGFLOAT_GITHUB_REPO=$(IMGFLOAT_GITHUB_REPO) \ IMGFLOAT_DB_PATH=$(IMGFLOAT_DB_PATH) \ SPRING_SERVLET_MULTIPART_MAX_FILE_SIZE=$(SPRING_SERVLET_MULTIPART_MAX_FILE_SIZE) \ SPRING_SERVLET_MULTIPART_MAX_REQUEST_SIZE=$(SPRING_SERVLET_MULTIPART_MAX_REQUEST_SIZE) .PHONY: build build: mvn compile .PHONY: run run: test -f .env && . ./.env; $(RUNTIME_ENV) mvn spring-boot:run .PHONY: watch watch: -mvn compile while sleep 0.1; do find $(WATCHDIR) -type f | entr -d mvn compile; done .PHONY: test test: mvn test .PHONY: package package: mvn clean package