.PHONY: build clean publish testpypi pypi install-dev help

PYTHON := .venv/bin/python

# 构建分发包
build: clean
	$(PYTHON) -m pip install build
	$(PYTHON) -m build

# 清理构建产物
clean:
	rm -rf dist/ build/ *.egg-info/

# 检查分发包
check: build
	$(PYTHON) -m pip install twine
	$(PYTHON) -m twine check dist/*

# 发布到 Test PyPI（先测试）
testpypi: check
	$(PYTHON) -m twine upload -r testpypi dist/*

# 发布到正式 PyPI
pypi: check
	$(PYTHON) -m twine upload dist/*

# 开发安装
install-dev:
	$(PYTHON) -m pip install -e .

# 运行测试
test:
	$(PYTHON) -m pytest tests/ -v

help:
	@echo "用法:"
	@echo "  make build       构建分发包 (dist/)"
	@echo "  make check       构建 + twine 检查"
	@echo "  make testpypi    发布到 Test PyPI（先测）"
	@echo "  make pypi        发布到正式 PyPI"
	@echo "  make test        运行测试"
	@echo "  make clean       清理构建产物"
