IMAGE_REGISTRY ?= 92.205.130.254:32166
IMAGE_REPO     ?= coulomb/key-cape
IMAGE_TAG      ?= latest
IMAGE          := $(IMAGE_REGISTRY)/$(IMAGE_REPO):$(IMAGE_TAG)

.PHONY: dev seed build test lint contract-test image push image-tag tokenstatus-export tokenstatus-check

PLAYBOOK_VALIDATOR ?= ../net-kingdom/tools/playbook-capability-contract/playbook_contract_validator.py

dev:
	docker compose -f docker-compose.dev.yml up

seed:
	docker compose -f docker-compose.dev.yml exec lldap /scripts/seed.sh

build:
	cd src && go build ./...

test: tokenstatus-check
	cd src && go test ./...

tokenstatus-export:
	python3 tools/export_tokenstatus_client.py

tokenstatus-check:
	python3 tools/export_tokenstatus_client.py --check

lint:
	cd src && go vet ./...

contract-test:
	python3 $(PLAYBOOK_VALIDATOR) capabilities/playbooks/*.yaml

image:
	docker build -t $(IMAGE) .

push: image
	docker push $(IMAGE)

image-tag:
	docker tag $(IMAGE) $(IMAGE_REGISTRY)/$(IMAGE_REPO):$(IMAGE_TAG)

# CUST-WP-0079-T05: staged-source generation; hook uses the isolated recipe.
.PHONY: generated-work-records generated-work-records-check
generated-work-records:
	$(MAKE) --no-print-directory -f .generated-work-records.mk generated-work-records
generated-work-records-check:
	$(MAKE) --no-print-directory -f .generated-work-records.mk generated-work-records-check
