@@ -52,42 +52,87 @@ func NewGenprotoGenerator(c *Config) *GenprotoGenerator {
5252 }
5353}
5454
55- // TODO: consider flipping this to an allowlist
56- var skipPrefixes = []string {
57- "google.golang.org/genproto/googleapis/ads/" ,
58- "google.golang.org/genproto/googleapis/ai/" ,
59- "google.golang.org/genproto/googleapis/analytics/" ,
60- "google.golang.org/genproto/googleapis/api/servicecontrol/" ,
61- "google.golang.org/genproto/googleapis/api/servicemanagement/" ,
62- "google.golang.org/genproto/googleapis/api/serviceusage/" ,
63- "google.golang.org/genproto/googleapis/appengine/" ,
64- "google.golang.org/genproto/googleapis/area120/" ,
65- "google.golang.org/genproto/googleapis/cloud/" ,
66- "google.golang.org/genproto/googleapis/compute/" ,
67- "google.golang.org/genproto/googleapis/dataflow/" ,
68- "google.golang.org/genproto/googleapis/datastore/" ,
69- "google.golang.org/genproto/googleapis/devtools/" ,
70- "google.golang.org/genproto/googleapis/firestore/" ,
71- "google.golang.org/genproto/googleapis/iam/" ,
72- "google.golang.org/genproto/googleapis/identity/" ,
73- "google.golang.org/genproto/googleapis/logging/" ,
74- "google.golang.org/genproto/googleapis/longrunning/" ,
75- "google.golang.org/genproto/googleapis/maps/" ,
76- "google.golang.org/genproto/googleapis/monitoring/" ,
77- "google.golang.org/genproto/googleapis/privacy/" ,
78- "google.golang.org/genproto/googleapis/pubsub/" ,
79- "google.golang.org/genproto/googleapis/spanner/" ,
80- "google.golang.org/genproto/googleapis/storage/" ,
81- "google.golang.org/genproto/googleapis/storagetransfer/" ,
82- }
83-
84- func hasPrefix (s string , prefixes []string ) bool {
85- for _ , prefix := range prefixes {
86- if strings .HasPrefix (s , prefix ) {
87- return true
88- }
89- }
90- return false
55+ // Only the packages listed here are generated into go-genproto.
56+ var generateList = []string {
57+ "google.golang.org/genproto/googleapis/type/expr" ,
58+ "google.golang.org/genproto/googleapis/rpc/http" ,
59+ "google.golang.org/genproto/googleapis/type/latlng" ,
60+ "google.golang.org/genproto/googleapis/genomics/v1alpha2" ,
61+ "google.golang.org/genproto/googleapis/type/date" ,
62+ "google.golang.org/genproto/googleapis/type/date_time_range" ,
63+ "google.golang.org/genproto/googleapis/api/metric" ,
64+ "google.golang.org/genproto/googleapis/api/distribution" ,
65+ "google.golang.org/genproto/googleapis/chromeos/moblab/v1beta1" ,
66+ "google.golang.org/genproto/googleapis/apps/script/type/slides" ,
67+ "google.golang.org/genproto/googleapis/api/expr/v1beta1" ,
68+ "google.golang.org/genproto/googleapis/apps/script/type/gmail" ,
69+ "google.golang.org/genproto/googleapis/type/month" ,
70+ "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/type" ,
71+ "google.golang.org/genproto/googleapis/apps/alertcenter/v1beta1" ,
72+ "google.golang.org/genproto/googleapis/api/error_reason" ,
73+ "google.golang.org/genproto/googleapis/assistant/embedded/v1alpha1" ,
74+ "google.golang.org/genproto/googleapis/type/localized_text" ,
75+ "google.golang.org/genproto/googleapis/type/interval" ,
76+ "google.golang.org/genproto/googleapis/watcher/v1" ,
77+ "google.golang.org/genproto/googleapis/apps/script/type/docs" ,
78+ "google.golang.org/genproto/googleapis/api/monitoredres" ,
79+ "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel" ,
80+ "google.golang.org/genproto/googleapis/type/dayofweek" ,
81+ "google.golang.org/genproto/googleapis/gapic/metadata" ,
82+ "google.golang.org/genproto/googleapis/chat/logging/v1" ,
83+ "google.golang.org/genproto/googleapis/api/expr/v1alpha1" ,
84+ "google.golang.org/genproto/googleapis/grafeas/v1" ,
85+ "google.golang.org/genproto/googleapis/type/quaternion" ,
86+ "google.golang.org/genproto/googleapis/type/calendarperiod" ,
87+ "google.golang.org/genproto/googleapis/type/date_range" ,
88+ "google.golang.org/genproto/googleapis/rpc/status" ,
89+ "google.golang.org/genproto/googleapis/rpc/context" ,
90+ "google.golang.org/genproto/googleapis/rpc/code" ,
91+ "google.golang.org/genproto/googleapis/api/visibility" ,
92+ "google.golang.org/genproto/googleapis/streetview/publish/v1" ,
93+ "google.golang.org/genproto/googleapis/type/money" ,
94+ "google.golang.org/genproto/googleapis/type/decimal" ,
95+ "google.golang.org/genproto/googleapis/type/color" ,
96+ "google.golang.org/genproto/googleapis/apps/drive/activity/v2" ,
97+ "google.golang.org/genproto/googleapis/apps/script/type/sheets" ,
98+ "google.golang.org/genproto/googleapis/type/timeofday" ,
99+ "google.golang.org/genproto/googleapis/home/graph/v1" ,
100+ "google.golang.org/genproto/googleapis/container/v1alpha1" ,
101+ "google.golang.org/genproto/googleapis/rpc/errdetails" ,
102+ "google.golang.org/genproto/googleapis/actions/sdk/v2" ,
103+ "google.golang.org/genproto/googleapis/networking/trafficdirector/type" ,
104+ "google.golang.org/genproto/googleapis/actions/sdk/v2/conversation" ,
105+ "google.golang.org/genproto/googleapis/home/enterprise/sdm/v1" ,
106+ "google.golang.org/genproto/googleapis/bytestream" ,
107+ "google.golang.org/genproto/googleapis/api" ,
108+ "google.golang.org/genproto/googleapis/apps/script/type" ,
109+ "google.golang.org/genproto/googleapis/api/configchange" ,
110+ "google.golang.org/genproto/googleapis/ccc/hosted/marketplace/v2" ,
111+ "google.golang.org/genproto/googleapis/chromeos/uidetection/v1" ,
112+ "google.golang.org/genproto/googleapis/type/datetime" ,
113+ "google.golang.org/genproto/googleapis/geo/type/viewport" ,
114+ "google.golang.org/genproto/googleapis/type/phone_number" ,
115+ "google.golang.org/genproto/googleapis/type/fraction" ,
116+ "google.golang.org/genproto/googleapis/apps/drive/labels/v2" ,
117+ "google.golang.org/genproto/googleapis/example/library/v1" ,
118+ "google.golang.org/genproto/googleapis/api/label" ,
119+ "google.golang.org/genproto/googleapis/bigtable/admin/v2" ,
120+ "google.golang.org/genproto/googleapis/api/httpbody" ,
121+ "google.golang.org/genproto/googleapis/partner/aistreams/v1alpha1" ,
122+ "google.golang.org/genproto/googleapis/apps/script/type/drive" ,
123+ "google.golang.org/genproto/googleapis/bigtable/v2" ,
124+ "google.golang.org/genproto/googleapis/search/partnerdataingestion/logging/v1" ,
125+ "google.golang.org/genproto/googleapis/apps/script/type/calendar" ,
126+ "google.golang.org/genproto/googleapis/rpc/context/attribute_context" ,
127+ "google.golang.org/genproto/googleapis/api/expr/conformance/v1alpha1" ,
128+ "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/prompt" ,
129+ "google.golang.org/genproto/googleapis/api/serviceconfig" ,
130+ "google.golang.org/genproto/googleapis/apps/drive/labels/v2beta" ,
131+ "google.golang.org/genproto/googleapis/genomics/v1" ,
132+ "google.golang.org/genproto/googleapis/api/annotations" ,
133+ "google.golang.org/genproto/googleapis/type/postaladdress" ,
134+ "google.golang.org/genproto/googleapis/firebase/fcm/connection/v1alpha1" ,
135+ "google.golang.org/genproto/googleapis/assistant/embedded/v1alpha2" ,
91136}
92137
93138// Regen regenerates the genproto repository.
@@ -135,9 +180,6 @@ func (g *GenprotoGenerator) Regen(ctx context.Context) error {
135180 log .Println ("generating from protos" )
136181 grp , _ := errgroup .WithContext (ctx )
137182 for pkg , fileNames := range pkgFiles {
138- if ! strings .HasPrefix (pkg , "google.golang.org/genproto" ) || hasPrefix (pkg , skipPrefixes ) {
139- continue
140- }
141183 pk := pkg
142184 fn := fileNames
143185
@@ -167,11 +209,10 @@ func (g *GenprotoGenerator) Regen(ctx context.Context) error {
167209
168210func filterPackages (in map [string ][]string ) (map [string ][]string , error ) {
169211 out := map [string ][]string {}
170- for pkg , fileNames := range in {
171- if ! strings . HasPrefix ( pkg , "google.golang.org/genproto" ) || hasPrefix ( pkg , skipPrefixes ) {
172- continue
212+ for _ , allowed := range generateList {
213+ if files , present := in [ allowed ]; present {
214+ out [ allowed ] = files
173215 }
174- out [pkg ] = fileNames
175216 }
176217 if len (out ) == 0 {
177218 return nil , ErrNoProcessing
0 commit comments