Blob Blame History Raw
# F35: Max version 2.8.0 due to old protobuf version.

# tests are enabled by default
%bcond_without tests

%global         srcname     google-cloud-containeranalysis
%global         forgeurl
Version:        2.9.3
%global         tag         v%{version}

Name:           python-%{srcname}
Release:        %autorelease
Summary:        Python SDK for Google Cloud Container Analysis API

License:        ASL 2.0
URL:            %forgeurl
Source0:        %forgesource

BuildArch:      noarch

BuildRequires:  python3-devel

%if %{with tests}
BuildRequires:  python3dist(pytest)
BuildRequires:  python3dist(pytest-asyncio)

%global _description %{expand:
Container Analysis API: An implementation of the Grafeas API, which stores, and
enables querying and retrieval of critical metadata about all of your software

%description %{_description}

%package -n python3-%{srcname}
Summary:        %{summary}

%description -n python3-%{srcname} %{_description}

%pyproject_extras_subpkg -n python3-%{srcname} libcst

%forgeautosetup -p1

# Allow a slightly older protobuf.
sed -i 's/"protobuf.*",/"protobuf>=3.19.4",/'

# Replace mock imports with unittest.mock.
grep -rl "^[[:space:]]*import mock" tests | \
    xargs sed -i -E 's/^([[:space:]]*)import mock/\1from unittest import mock/'

%pyproject_buildrequires -r


%pyproject_save_files google

# Remove unnecessary files.
rm -f %{buildroot}%{_bindir}/fixup* samples/snippets/.gitignore

%if %{with tests}
# Disable two tests that require network connectivity.
%pytest --disable-warnings tests/unit \
    -k "not test_get_grafeas_client and not test_get_grafeas_client_async"

%files -n python3-%{srcname} -f %{pyproject_files}
%doc README.rst CONTRIBUTING.rst samples