.ONESHELL: .POSIX: .DEFAULT_GOAL := build IMGFLOAT_DB_PATH ?= ./imgfloat.db IMGFLOAT_GITHUB_CLIENT_OWNER ?= imgfloat IMGFLOAT_GITHUB_CLIENT_REPO ?= client IMGFLOAT_GITHUB_CLIENT_VERSION ?= 1.0.0 IMGFLOAT_TOKEN_ENCRYPTION_KEY ?= x5A8tS8Lk4q2qY0xRkz8r9bq2bx0R4A9a0m0k5Y8mCk= IMGFLOAT_ASSETS_PATH ?= ./assets IMGFLOAT_PREVIEWS_PATH ?= ./previews IMGFLOAT_COMMIT_URL_PREFIX ?= https://github.com/imgfloat/server/commit/ IMGFLOAT_IS_STAGING ?= 0 IMGFLOAT_DOCS_URL ?= https://docs.imgflo.at 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_CLIENT_OWNER=$(IMGFLOAT_GITHUB_CLIENT_OWNER) \ IMGFLOAT_GITHUB_CLIENT_REPO=$(IMGFLOAT_GITHUB_CLIENT_REPO) \ IMGFLOAT_IS_STAGING=$(IMGFLOAT_IS_STAGING) \ IMGFLOAT_DOCS_URL=$(IMGFLOAT_DOCS_URL) \ IMGFLOAT_GITHUB_CLIENT_VERSION=$(IMGFLOAT_GITHUB_CLIENT_VERSION) \ IMGFLOAT_COMMIT_URL_PREFIX=$(IMGFLOAT_COMMIT_URL_PREFIX) \ 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) \ IMGFLOAT_TOKEN_ENCRYPTION_KEY=$(IMGFLOAT_TOKEN_ENCRYPTION_KEY) .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