diff --git a/library_generation/model/generation_config.py b/library_generation/model/generation_config.py index b6c82f6e264..3a59958a63f 100644 --- a/library_generation/model/generation_config.py +++ b/library_generation/model/generation_config.py @@ -79,6 +79,9 @@ def from_yaml(path_to_yaml: str) -> GenerationConfig: release_level=__optional(library, "release_level", "preview"), api_id=__optional(library, "api_id", None), api_reference=__optional(library, "api_reference", None), + codeowner_team=__optional(library, "codeowner_team", None), + excluded_poms=__optional(library, "excluded_poms", None), + excluded_dependencies=__optional(library, "excluded_dependencies", None), client_documentation=__optional(library, "client_documentation", None), distribution_name=__optional(library, "distribution_name", None), googleapis_commitish=__optional(library, "googleapis_commitish", None), diff --git a/library_generation/model/library_config.py b/library_generation/model/library_config.py index 9e3f9c9c613..9d281b912cf 100644 --- a/library_generation/model/library_config.py +++ b/library_generation/model/library_config.py @@ -33,8 +33,11 @@ def __init__( release_level: Optional[str] = None, api_id: Optional[str] = None, api_reference: Optional[str] = None, + codeowner_team: Optional[str] = None, client_documentation: Optional[str] = None, distribution_name: Optional[str] = None, + excluded_dependencies: Optional[str] = None, + excluded_poms: Optional[str] = None, googleapis_commitish: Optional[str] = None, group_id: Optional[str] = "com.google.cloud", issue_tracker: Optional[str] = None, @@ -53,6 +56,9 @@ def __init__( self.release_level = release_level if release_level else "preview" self.api_id = api_id self.api_reference = api_reference + self.codeowner_team = codeowner_team + self.excluded_dependencies = excluded_dependencies + self.excluded_poms = excluded_poms self.client_documentation = client_documentation self.distribution_name = distribution_name self.googleapis_commitish = googleapis_commitish diff --git a/library_generation/test/resources/test-config/generation_config.yaml b/library_generation/test/resources/test-config/generation_config.yaml index b73fa4d65d1..d84ed3afd25 100644 --- a/library_generation/test/resources/test-config/generation_config.yaml +++ b/library_generation/test/resources/test-config/generation_config.yaml @@ -26,6 +26,9 @@ libraries: release_level: "stable" issue_tracker: "https://issuetracker.google.com/issues/new?component=187210&template=0" api_reference: "https://cloud.google.com/resource-manager/docs/cloud-asset-inventory/overview" + codeowner_team: "@googleapis/analytics-dpe" + excluded_poms: proto-google-iam-v1-bom,google-iam-policy,proto-google-iam-v1 + excluded_dependencies: google-iam-policy GAPICs: - proto_path: google/cloud/asset/v1 - proto_path: google/cloud/asset/v1p1beta1 diff --git a/library_generation/test/unit_tests.py b/library_generation/test/unit_tests.py index 04bcd46ccbc..a55cf7f6b5c 100644 --- a/library_generation/test/unit_tests.py +++ b/library_generation/test/unit_tests.py @@ -192,6 +192,12 @@ def test_from_yaml_succeeds(self): library.api_description, ) self.assertEqual("asset", library.library_name) + self.assertEqual("@googleapis/analytics-dpe", library.codeowner_team) + self.assertEqual( + "proto-google-iam-v1-bom,google-iam-policy,proto-google-iam-v1", + library.excluded_poms, + ) + self.assertEqual("google-iam-policy", library.excluded_dependencies) gapics = library.gapic_configs self.assertEqual(5, len(gapics)) self.assertEqual("google/cloud/asset/v1", gapics[0].proto_path) diff --git a/library_generation/utilities.py b/library_generation/utilities.py index 014b95ae8ef..d899dd1773b 100755 --- a/library_generation/utilities.py +++ b/library_generation/utilities.py @@ -390,6 +390,12 @@ def generate_prerequisite_files( if library.api_reference: repo_metadata["api_reference"] = library.api_reference + if library.codeowner_team: + repo_metadata["codeowner_team"] = library.codeowner_team + if library.excluded_dependencies: + repo_metadata["excluded_dependencies"] = library.excluded_dependencies + if library.excluded_poms: + repo_metadata["excluded_poms"] = library.excluded_poms if library.issue_tracker: repo_metadata["issue_tracker"] = library.issue_tracker if library.rest_documentation: