zuul-sphinx/zuul_sphinx/version.py
Clark Boylan f8b00a88f2 Replace pbr and pkg_resource version info with importlib.metadata
This updates zuul-sphinx to retrieve version info from package metadata
using importlib.metadata instead of the now removed pkg_resources
library. This is necessary to run doc builds on top of python3.12 which
removed setuptools and pkg_resources by default.

An altnerative would be to explicitly require setuptools as a dependency
but stdlib importlib should be sufficient so we don't bother.

Change-Id: I5d73e7cc728188e7978e30eb5eb53d73e74b9ce2
2024-11-12 12:42:07 -08:00

31 lines
1017 B
Python

# Copyright 2020 Red Hat, inc
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import json
from importlib import metadata as importlib_metadata
zuul_sphinx_distribution = importlib_metadata.distribution('zuul-sphinx')
release_string = zuul_sphinx_distribution.version
is_release = None
git_version = None
try:
_metadata = json.loads(zuul_distribution.read_text('pbr.json'))
if _metadata:
is_release = _metadata['is_release']
git_version = _metadata['git_version']
except Exception:
pass