diff --git a/.dockerignore b/.dockerignore index 7d2e660..5e76de0 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,5 +1,6 @@ * +!.git !*.py !*.rst !*.txt diff --git a/CHANGES.rst b/CHANGES.rst index 5bd1852..0eab904 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,7 @@ grafana-wtf changelog in progress =========== +- Started using ``versioningit`` for versioning 2025-02-04 0.22.0 ================= diff --git a/Dockerfile b/Dockerfile index 307aa5f..07fa10f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,7 +12,7 @@ ENV TERM=linux # Install prerequisites RUN apt-get update -RUN apt-get --yes install wget +RUN apt-get --yes install git wget # Configure build environment ENV PIP_ROOT_USER_ACTION=ignore diff --git a/grafana_wtf/__init__.py b/grafana_wtf/__init__.py index ca81c60..d9763e1 100644 --- a/grafana_wtf/__init__.py +++ b/grafana_wtf/__init__.py @@ -1,4 +1,12 @@ """grafana-wtf: Grep through all Grafana entities""" +try: + from importlib.metadata import PackageNotFoundError, version +except (ImportError, ModuleNotFoundError): # pragma:nocover + from importlib_metadata import PackageNotFoundError, version # type: ignore[assignment,no-redef,unused-ignore] __appname__ = "grafana-wtf" -__version__ = "0.22.0" + +try: + __version__ = version(__appname__) +except PackageNotFoundError: # pragma: no cover + __version__ = "unknown" diff --git a/pyproject.toml b/pyproject.toml index c191627..1f33d18 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,3 +1,15 @@ +[build-system] +build-backend = "setuptools.build_meta" +requires = [ + "setuptools>=42", # At least v42 of setuptools required. + "versioningit", +] + +[tool.versioningit.vcs] +method = "git-archive" +default-tag = "0.0.0" +describe-subst = "$Format:%(describe:tags)$" + [tool.ruff] line-length = 100 diff --git a/setup.py b/setup.py index 33eae9e..5816864 100644 --- a/setup.py +++ b/setup.py @@ -2,6 +2,7 @@ import os from setuptools import find_packages, setup +from versioningit import get_cmdclasses here = os.path.abspath(os.path.dirname(__file__)) README = open(os.path.join(here, "README.rst")).read() @@ -14,6 +15,7 @@ # Core "six", "docopt-ng>=0.6.2,<0.10", + "importlib-metadata; python_version<'3.8'", "munch>=2.5.0,<5", "tqdm>=4.60.0,<5", "verlib2>=0.3.1,<0.4", @@ -43,7 +45,7 @@ setup( name="grafana-wtf", - version="0.22.0", + cmdclass=get_cmdclasses(), description="Grep through all Grafana entities in the spirit of git-wtf", long_description=README, license="AGPL 3, EUPL 1.2",