.PHONY: build
build: build_image


.PHONY: pre-commit
pre-commit: shellcheck format rust-lint regenerate-entities


.PHONY: debug
debug:
	pnpm install
	pnpm run build:debug
	pnpm run migrate
	pnpm run start


.PHONY: shellcheck
shellcheck:
	shellcheck --external-sources update.sh
	shellcheck --external-sources neko/update/main.sh
	shellcheck --external-sources neko/update/patch.sh
	shellcheck --external-sources neko/update/container.sh
	shellcheck --external-sources neko/update/native.sh
	shellcheck --external-sources --exclude=SC2148 neko/update/utils


.PHONY: format
format:
	pnpm run format


.PHONY: rust-lint
rust-lint:
	cd packages/backend/native-utils && pnpm run lint


.PHONY: regenerate-entities
regenerate-entities:
	cd packages/backend/native-utils && \
	sea-orm-cli generate entity \
	  --output-dir='src/model/entity' \
	  --database-url='postgres://firefish:password@localhost/firefish_db'


.PHONY: build_image
build_image:
	. neko/update/utils && \
	buildah build \
	  --no-cache \
	  --platform linux/amd64 \
	  --build-arg "VERSION=$$(version_ci)" \
	  --tag docker.io/naskya/firefish \
	  --tag registry.code.naskya.net/naskya/firefish \
	  --tag "registry.code.naskya.net/naskya/firefish:$$(version_ci | cut -d':' -f2)" \
	  .