|
29 | 29 |
|
30 | 30 | # Here we list all the packages for which we want to issue warnings |
31 | 31 | # about deprecated and unsupported versions. |
32 | | -_DependencyConstraint = namedtuple( |
33 | | - "_DependencyConstraint", |
| 32 | +DependencyConstraint = namedtuple( |
| 33 | + "DependencyConstraint", |
34 | 34 | ["package_name", "minimum_fully_supported_version", "recommended_version"], |
35 | 35 | ) |
36 | 36 | _PACKAGE_DEPENDENCY_WARNINGS = [ |
37 | | - _DependencyConstraint( |
| 37 | + DependencyConstraint( |
38 | 38 | "google.protobuf", |
39 | 39 | minimum_fully_supported_version="4.25.8", |
40 | 40 | recommended_version="6.x", |
@@ -181,19 +181,26 @@ def warn_deprecation_for_versions_less_than( |
181 | 181 | ) |
182 | 182 |
|
183 | 183 |
|
184 | | -def check_dependency_versions(consumer_import_package: str): |
| 184 | +def check_dependency_versions( |
| 185 | + consumer_import_package: str, *package_dependency_warnings: DependencyConstraint |
| 186 | +): |
185 | 187 | """Bundle checks for all package dependencies. |
186 | 188 |
|
187 | | - This function can be called by all dependents of google.api_core, |
| 189 | + This function can be called by all consumers of google.api_core, |
188 | 190 | to emit needed deprecation warnings for any of their |
189 | | - dependencies. The dependencies to check should be updated here. |
| 191 | + dependencies. The dependencies to check can be passed as arguments, or if |
| 192 | + none are provided, it will default to the list in |
| 193 | + `_PACKAGE_DEPENDENCY_WARNINGS`. |
190 | 194 |
|
191 | 195 | Args: |
192 | 196 | consumer_import_package: The distribution name of the calling package, whose |
193 | 197 | dependencies we're checking. |
194 | | -
|
| 198 | + *package_dependency_warnings: A variable number of DependencyConstraint |
| 199 | + objects, each specifying a dependency to check. |
195 | 200 | """ |
196 | | - for package_info in _PACKAGE_DEPENDENCY_WARNINGS: |
| 201 | + if not package_dependency_warnings: |
| 202 | + package_dependency_warnings = tuple(_PACKAGE_DEPENDENCY_WARNINGS) |
| 203 | + for package_info in package_dependency_warnings: |
197 | 204 | warn_deprecation_for_versions_less_than( |
198 | 205 | consumer_import_package, |
199 | 206 | package_info.package_name, |
|
0 commit comments