summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRonny Pfannschmidt <opensource@ronnypfannschmidt.de>2023-03-20 17:19:56 +0100
committerRonny Pfannschmidt <opensource@ronnypfannschmidt.de>2023-03-20 17:19:56 +0100
commit43dc36fb429aa4079a160d30bf9dfc4059969048 (patch)
tree5a9598f1d937f4472262f68d675339a2025b3128
parent4b33e3b341d4492d419da93e8e0f57d5279dbd52 (diff)
downloadsetuptools-scm-43dc36fb429aa4079a160d30bf9dfc4059969048.tar.gz
migrate to hatchling build backend
-rw-r--r--.pre-commit-config.yaml1
-rw-r--r--_own_version_helper.py (renamed from scm_hack_build_backend.py)40
-rw-r--r--pyproject.toml18
3 files changed, 14 insertions, 45 deletions
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 0ca4d0d..6541a0c 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -22,7 +22,6 @@ repos:
rev: 6.0.0
hooks:
- id: flake8
- exclude: scm_hack_build_backend.py
- repo: https://github.com/asottile/pyupgrade
rev: v3.3.1
hooks:
diff --git a/scm_hack_build_backend.py b/_own_version_helper.py
index 08c8fae..b7069ba 100644
--- a/scm_hack_build_backend.py
+++ b/_own_version_helper.py
@@ -4,38 +4,16 @@ to use the attribute for the versions
"""
from __future__ import annotations
-import os
-import sys
-from pathlib import Path
-
-root = Path(__file__).parent
-sys.path.insert(0, os.fspath(root / "src"))
-
-from setuptools.build_meta import ( # type: ignore[attr-defined]
- get_requires_for_build_wheel,
- get_requires_for_build_sdist,
- prepare_metadata_for_build_wheel,
- build_wheel,
- build_sdist,
- get_requires_for_build_editable,
- prepare_metadata_for_build_editable,
- build_editable,
-)
-
-
+from setuptools_scm import Configuration
from setuptools_scm import get_version
-from setuptools_scm.hacks import parse_pkginfo
from setuptools_scm import git
from setuptools_scm import hg
-from setuptools_scm.version import guess_next_dev_version, get_local_node_and_date
-from setuptools_scm import Configuration
-
+from setuptools_scm.hacks import parse_pkginfo
+from setuptools_scm.version import get_local_node_and_date
+from setuptools_scm.version import guess_next_dev_version
from setuptools_scm.version import ScmVersion
-dynamic_version: str
-
-
def parse(root: str, config: Configuration) -> ScmVersion | None:
try:
return parse_pkginfo(root, config)
@@ -45,16 +23,8 @@ def parse(root: str, config: Configuration) -> ScmVersion | None:
def scm_version() -> str:
return get_version(
- root=str(root),
+ relative_to=__file__,
parse=parse,
version_scheme=guess_next_dev_version,
local_scheme=get_local_node_and_date,
)
-
-
-def __getattr__(name: str) -> str:
- if name == "dynamic_version":
- global dynamic_version
- dynamic_version = scm_version()
- return dynamic_version
- raise AttributeError(name)
diff --git a/pyproject.toml b/pyproject.toml
index 48f1c8b..1ae670b 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,14 +1,14 @@
+
+
[build-system]
-build-backend = "scm_hack_build_backend"
+build-backend = "hatchling.build"
requires = [
+ "hatchling>=1.10",
"packaging>=20",
"setuptools>=55",
'tomli; python_version < "3.11"',
"typing_extensions",
]
-backend-path = [
- ".",
-]
[project]
name = "setuptools-scm"
@@ -90,8 +90,8 @@ pip-egg-info = "setuptools_scm.hacks:parse_pip_egg_info"
"python-simplified-semver" = "setuptools_scm.version:simplified_semver_version"
"release-branch-semver" = "setuptools_scm.version:release_branch_semver_version"
-[tool.setuptools.dynamic]
-version = {attr = "scm_hack_build_backend.dynamic_version"}
-
-[tool.setuptools.packages.find]
-where = ["src"]
+[tool.hatch.version]
+source = "code"
+path = "_own_version_helper.py"
+search-paths = ["src"]
+expression = "scm_version()"