diff options
author | Ronny Pfannschmidt <opensource@ronnypfannschmidt.de> | 2023-03-20 18:01:29 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-20 18:01:29 +0100 |
commit | fb261332d9b46aa5a258042d85baa5aa7b9f4fa2 (patch) | |
tree | 5a9598f1d937f4472262f68d675339a2025b3128 | |
parent | 4b33e3b341d4492d419da93e8e0f57d5279dbd52 (diff) | |
parent | 43dc36fb429aa4079a160d30bf9dfc4059969048 (diff) | |
download | setuptools-scm-fb261332d9b46aa5a258042d85baa5aa7b9f4fa2.tar.gz |
Merge pull request #822 from RonnyPfannschmidt/use-hatch
migrate to hatchling build backend
-rw-r--r-- | .pre-commit-config.yaml | 1 | ||||
-rw-r--r-- | _own_version_helper.py (renamed from scm_hack_build_backend.py) | 40 | ||||
-rw-r--r-- | pyproject.toml | 18 |
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()" |