Files
server/Makefile
2026-01-23 17:03:47 +01:00

52 lines
1.6 KiB
Makefile

.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