From d86c1bd4104e574d439d6477f503445d4c40c311 Mon Sep 17 00:00:00 2001 From: Joe Wang <106995533+JoeWang1127@users.noreply.github.com> Date: Fri, 13 Feb 2026 12:27:09 -0500 Subject: [PATCH 1/2] chore: make repometadata struct public --- internal/repometadata/repometadata.go | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/internal/repometadata/repometadata.go b/internal/repometadata/repometadata.go index 046dcc2d6..fd5c65afc 100644 --- a/internal/repometadata/repometadata.go +++ b/internal/repometadata/repometadata.go @@ -33,10 +33,10 @@ var ( errNoServiceConfig = errors.New("library has no service config from which to get metadata") ) -type libraryInfo struct { - descriptionOverride string - name string - releaseLevel string +type LibraryInfo struct { + DescriptionOverride string + Name string + ReleaseLevel string } // RepoMetadata represents the .repo-metadata.json file structure. @@ -101,27 +101,27 @@ func FromLibrary(library *config.Library, language, repo, googleapisDir, default if api.ServiceConfig == "" { return fmt.Errorf("failed to generate metadata for %s: %w", library.Name, errNoServiceConfig) } - info := &libraryInfo{ - descriptionOverride: library.DescriptionOverride, - name: library.Name, - releaseLevel: library.ReleaseLevel, + info := &LibraryInfo{ + DescriptionOverride: library.DescriptionOverride, + Name: library.Name, + ReleaseLevel: library.ReleaseLevel, } return FromAPI(api, info, language, repo, defaultVersion, outdir) } // FromAPI generates the .repo-metadata.json file from a serviceconfig.API and additional library information. -func FromAPI(api *serviceconfig.API, info *libraryInfo, language, repo, defaultVersion, outputDir string) error { +func FromAPI(api *serviceconfig.API, info *LibraryInfo, language, repo, defaultVersion, outputDir string) error { clientDocURL := buildClientDocURL(language, extractNameFromAPIID(api.ServiceName)) metadata := &RepoMetadata{ APIID: api.ServiceName, NamePretty: cleanTitle(api.Title), DefaultVersion: defaultVersion, ClientDocumentation: clientDocURL, - ReleaseLevel: info.releaseLevel, + ReleaseLevel: info.ReleaseLevel, Language: language, LibraryType: "GAPIC_AUTO", Repo: repo, - DistributionName: info.name, + DistributionName: info.Name, } metadata.ProductDocumentation = extractBaseProductURL(api.DocumentationURI) @@ -129,8 +129,8 @@ func FromAPI(api *serviceconfig.API, info *libraryInfo, language, repo, defaultV metadata.APIShortname = api.ShortName metadata.Name = api.ShortName metadata.APIDescription = api.Description - if info.descriptionOverride != "" { - metadata.APIDescription = info.descriptionOverride + if info.DescriptionOverride != "" { + metadata.APIDescription = info.DescriptionOverride } data, err := json.MarshalIndent(metadata, "", " ") From 41bb1463b14ea294b525c93d44bbe0463a52c37c Mon Sep 17 00:00:00 2001 From: Joe Wang <106995533+JoeWang1127@users.noreply.github.com> Date: Fri, 13 Feb 2026 13:32:26 -0500 Subject: [PATCH 2/2] update comments --- internal/repometadata/repometadata.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/internal/repometadata/repometadata.go b/internal/repometadata/repometadata.go index fd5c65afc..68725067c 100644 --- a/internal/repometadata/repometadata.go +++ b/internal/repometadata/repometadata.go @@ -33,10 +33,14 @@ var ( errNoServiceConfig = errors.New("library has no service config from which to get metadata") ) +// LibraryInfo contains information about a library that is not available in the service config. type LibraryInfo struct { + // DescriptionOverride overrides the library description from the service config. DescriptionOverride string - Name string - ReleaseLevel string + // Name is the name of the library distribution package. + Name string + // ReleaseLevel is the release level (e.g., "stable", "preview"). + ReleaseLevel string } // RepoMetadata represents the .repo-metadata.json file structure.