.PHONY: publish pack pack-and-publish sync-version check-version

sync-version:
	python -c "import json, tomllib; \
	v = tomllib.load(open('pyproject.toml','rb'))['project']['version']; \
	m = json.load(open('manifest.json')); m['version'] = v; \
	json.dump(m, open('manifest.json','w'), indent=2); \
	print(f'Synced manifest.json to v{v}')"

check-version:
	@python -c "import json, tomllib; \
	pv = tomllib.load(open('pyproject.toml','rb'))['project']['version']; \
	mv = json.load(open('manifest.json'))['version']; \
	assert pv == mv, f'Version mismatch: pyproject.toml={pv}, manifest.json={mv}. Run make sync-version'; \
	print(f'Versions match: v{pv}')"

publish:
	rm -rf dist/
	uv build
	uv publish

pack: check-version
	mcpb pack .

pack-and-publish: pack publish
