Add uv cache-keys for the commit and tags so the editable install is refreshed when the git state changes, and copy the complete checkout (with .git) into the builder so setuptools-scm sees a clean worktree. Previously the partial copy made git describe report a dirty tree and tagged Docker builds got a development version suffix.
35 lines
761 B
TOML
35 lines
761 B
TOML
[project]
|
|
name = "xmcp"
|
|
dynamic = ["version"]
|
|
description = "MCP server generated from an OpenAPI specification, built with FastMCP"
|
|
readme = "README.md"
|
|
requires-python = ">=3.14"
|
|
dependencies = [
|
|
"fastmcp>=4.1,<5",
|
|
"httpx2>=2.5",
|
|
"pyyaml>=6.0",
|
|
]
|
|
|
|
[project.scripts]
|
|
xmcp = "xmcp.server:main"
|
|
|
|
[build-system]
|
|
requires = ["setuptools>=61.0", "setuptools-scm>=8"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["src"]
|
|
|
|
[tool.setuptools_scm]
|
|
version_file = "src/xmcp/_version.py"
|
|
|
|
[tool.setuptools_scm.tag]
|
|
prefix = "release/"
|
|
|
|
[tool.uv]
|
|
# setuptools-scm derives the version from git; make uv notice commit/tag changes.
|
|
cache-keys = [
|
|
{ file = "pyproject.toml" },
|
|
{ git = { commit = true, tags = true } },
|
|
]
|