.DEFAULT_GOAL := validate-build
.PHONY: bundle validate validate-build bundle-dereferenced spectral

pwd := $(shell pwd)

bundle: backup
	npx @redocly/cli@^1.9.0 bundle \
		--output dist/submission-api.yaml spec/submission-api.yaml

validate:
	npx @redocly/cli@^1.9.0 lint \
		--extends=minimal spec/submission-api.yaml

validate-build: bundle
	npx @redocly/cli@^1.9.0 lint \
		--extends=minimal dist/submission-api.yaml

bundle-dereferenced: backup
	npx @redocly/cli@^1.9.0 bundle \
		--dereferenced --output dist/submission-api.yaml spec/submission-api.yaml

backup:
	if [ -f dist/submission-api.yaml ]; then cp dist/submission-api.yaml dist/submission-api-before.yaml; fi

spectral: bundle
	docker run --rm --pull=always \
		-v "$(pwd):/work" -w /work \
		stoplight/spectral:6 lint spec/submission-api.yaml -D