Skip to content

Commit cb27e3a

Browse files
authoredMay 26, 2020
move well-known types (#372)
This is step 3 of 6 in a multi-stage migration to move the well-known types from the google.golang.org/genproto module to the google.golang.org/protobuf module. The generated Go packages for field_mask.proto, api.proto, type.proto, and source_context.proto are being moved over to this module alongside all the other well-known types. In order to move these types between two modules, there needs to be a sequence of changes submitted in decently rapid succession. It is impossible to atomically make these changes, so a brief breakage is inevitable. The steps are as follows: Step 1: Submit a change to cloud.google.com/go/internal/gapicgen to avoid generating the well-known types. Otherwise, the tool will undo the changes made in step 3. See https://code-review.googlesource.com/c/gocloud/+/56810 Step 2: Submit a change to google.golang.org/protobuf that adds the generated well-known types being migrated to that module. In order to prevent the situation where a user links in too old a version of the genproto module such that duplicate registration occurs for the well-known types, the registry is specially modified to provide an error message that instructs users to upgrade the genproto module. See https://golang.org/cl/234937 Step 3: Submit a change to google.golang.org/genproto that switches all generated well-known types to be aliases to the ones declared in google.golang.org/protobuf from the previous step. This will cause the genproto module to incur an dependency on an unreleased version of the protobuf module. See #372 Step 4: Submit a change to google.golang.org/protobuf that adds a weak module depdency on the genproto module at the revision from the previous step. Step 5: Release google.golang.org/protobuf@v1.24.0. Step 6: Submit a change to google.golang.org/genproto that updates the protobuf module dependency to v1.24.0.
1 parent 9bb8953 commit cb27e3a

File tree

10 files changed

+156
-2166
lines changed

10 files changed

+156
-2166
lines changed
 

‎go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ require (
77
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3
88
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135
99
google.golang.org/grpc v1.27.0
10-
google.golang.org/protobuf v1.22.0
10+
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc
1111
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc
1212
)

‎go.sum

+2-12
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,15 @@ github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7
88
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58=
99
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
1010
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
11-
github.com/golang/protobuf v1.2.0 h1:P3YflyNX/ehuJFLhxviNdFxQPkGK5cDcApsge1SqnvM=
1211
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
13-
github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs=
1412
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
1513
github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
1614
github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
1715
github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
1816
github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
19-
github.com/golang/protobuf v1.4.0 h1:oOuy+ugB+P/kBdUnG5QaMXSIyJ1q38wWSojYCb3z5VQ=
2017
github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
2118
github.com/golang/protobuf v1.4.1 h1:ZFgWrT+bLgsYPirOnRfKLYJLvssAegOj/hgyMFdJZe0=
2219
github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
23-
github.com/google/go-cmp v0.2.0 h1:+dTQ8DZQJz0Mb/HjFlkptS1FeQ4cWSnN941F8aEG4SQ=
2420
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
2521
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
2622
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
@@ -30,29 +26,24 @@ github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:
3026
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
3127
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
3228
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
33-
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961 h1:GmgasJE571dBGXS7E282h2rIZj+KvCLV8z5I6QXbKNI=
3429
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
3530
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3 h1:XQyxROzUlZH+WIQwySDgnISgOivlhjIEwaQaJEJrrN0=
3631
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
3732
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
3833
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
39-
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd h1:HuTn7WObtcDo9uEEU7rEqL0jYthdXAmZ6PP+meazmaU=
4034
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
4135
golang.org/x/net v0.0.0-20190311183353-d8887717615a h1:oWX7TPOiFAMXLq8o0ikBYfCJVlRHBcsciT5bXOrH628=
4236
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
4337
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
44-
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f h1:wMNYb4v58l5UBM7MYRLPG6ZhfOqbKu7X5eyFl8ZhKvA=
4538
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
4639
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
4740
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
48-
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522 h1:Ve1ORMCxvRmSXBwJK+t3Oy+V2vRW2OetUQBq4rJIkZE=
4941
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
5042
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a h1:1BGLXjeY4akVXGgbC9HugT3Jv3hCI0z56oJR5vAMgBU=
5143
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
5244
golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
5345
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
5446
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
55-
golang.org/x/tools v0.0.0-20190226205152-f727befe758c h1:vamGzbGri8IKo20MQncCuljcQ5uAO6kaCeawQPVblAI=
5647
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
5748
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
5849
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135 h1:5Beo0mZN8dRzgrMMkDp0jc8YXQKx9DiJ2k1dkvGsn5A=
@@ -63,7 +54,6 @@ google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9Ywl
6354
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
6455
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
6556
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
66-
google.golang.org/grpc v1.19.0 h1:cfg4PD8YEdSFnm7qLV4++93WcmhH2nIUhMjhdCvl3j8=
6757
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
6858
google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
6959
google.golang.org/grpc v1.27.0 h1:rRYRFMVgRv6E0D70Skyfsr28tDXIuuPZyWGMPdMcnXg=
@@ -73,9 +63,9 @@ google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ
7363
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
7464
google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
7565
google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
76-
google.golang.org/protobuf v1.22.0 h1:cJv5/xdbk1NnMPR1VP9+HU6gupuG9MLBoH1r6RHZ2MY=
7766
google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
78-
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099 h1:XJP7lxbSxWLOMNdBE4B/STaqVy6L73o0knwj2vIlxnw=
67+
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc h1:TnonUr8u3himcMY0vSh23jFOXA+cnucl1gB6EQTReBI=
68+
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
7969
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
8070
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc h1:/hemPrYIhOhy8zYrNj+069zDB68us2sMGsfkFJO0iZs=
8171
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=

‎protobuf/api/api.go

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// Copyright 2020 Google LLC
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
15+
// Package api aliases all exported identifiers in
16+
// package "google.golang.org/protobuf/types/known/apipb".
17+
package api
18+
19+
import "google.golang.org/protobuf/types/known/apipb"
20+
21+
type Api = apipb.Api
22+
type Method = apipb.Method
23+
type Mixin = apipb.Mixin
24+
25+
var File_google_protobuf_api_proto = apipb.File_google_protobuf_api_proto

‎protobuf/api/api.pb.go

-593
This file was deleted.

‎protobuf/field_mask/field_mask.go

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
// Copyright 2020 Google LLC
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
15+
// Package field_mask aliases all exported identifiers in
16+
// package "google.golang.org/protobuf/types/known/fieldmaskpb".
17+
package field_mask
18+
19+
import "google.golang.org/protobuf/types/known/fieldmaskpb"
20+
21+
type FieldMask = fieldmaskpb.FieldMask
22+
23+
var File_google_protobuf_field_mask_proto = fieldmaskpb.File_google_protobuf_field_mask_proto

‎protobuf/field_mask/field_mask.pb.go

-387
This file was deleted.

‎protobuf/ptype/type.go

+82
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
// Copyright 2020 Google LLC
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
15+
// Package ptype aliases all exported identifiers in
16+
// package "google.golang.org/protobuf/types/known/typepb".
17+
package ptype
18+
19+
import "google.golang.org/protobuf/types/known/typepb"
20+
21+
type Syntax = typepb.Syntax
22+
23+
const (
24+
Syntax_SYNTAX_PROTO2 = typepb.Syntax_SYNTAX_PROTO2
25+
Syntax_SYNTAX_PROTO3 = typepb.Syntax_SYNTAX_PROTO3
26+
)
27+
28+
var (
29+
Syntax_name = typepb.Syntax_name
30+
Syntax_value = typepb.Syntax_value
31+
)
32+
33+
type Field_Kind = typepb.Field_Kind
34+
35+
const (
36+
Field_TYPE_UNKNOWN = typepb.Field_TYPE_UNKNOWN
37+
Field_TYPE_DOUBLE = typepb.Field_TYPE_DOUBLE
38+
Field_TYPE_FLOAT = typepb.Field_TYPE_FLOAT
39+
Field_TYPE_INT64 = typepb.Field_TYPE_INT64
40+
Field_TYPE_UINT64 = typepb.Field_TYPE_UINT64
41+
Field_TYPE_INT32 = typepb.Field_TYPE_INT32
42+
Field_TYPE_FIXED64 = typepb.Field_TYPE_FIXED64
43+
Field_TYPE_FIXED32 = typepb.Field_TYPE_FIXED32
44+
Field_TYPE_BOOL = typepb.Field_TYPE_BOOL
45+
Field_TYPE_STRING = typepb.Field_TYPE_STRING
46+
Field_TYPE_GROUP = typepb.Field_TYPE_GROUP
47+
Field_TYPE_MESSAGE = typepb.Field_TYPE_MESSAGE
48+
Field_TYPE_BYTES = typepb.Field_TYPE_BYTES
49+
Field_TYPE_UINT32 = typepb.Field_TYPE_UINT32
50+
Field_TYPE_ENUM = typepb.Field_TYPE_ENUM
51+
Field_TYPE_SFIXED32 = typepb.Field_TYPE_SFIXED32
52+
Field_TYPE_SFIXED64 = typepb.Field_TYPE_SFIXED64
53+
Field_TYPE_SINT32 = typepb.Field_TYPE_SINT32
54+
Field_TYPE_SINT64 = typepb.Field_TYPE_SINT64
55+
)
56+
57+
var (
58+
Field_Kind_name = typepb.Field_Kind_name
59+
Field_Kind_value = typepb.Field_Kind_value
60+
)
61+
62+
type Field_Cardinality = typepb.Field_Cardinality
63+
64+
const (
65+
Field_CARDINALITY_UNKNOWN = typepb.Field_CARDINALITY_UNKNOWN
66+
Field_CARDINALITY_OPTIONAL = typepb.Field_CARDINALITY_OPTIONAL
67+
Field_CARDINALITY_REQUIRED = typepb.Field_CARDINALITY_REQUIRED
68+
Field_CARDINALITY_REPEATED = typepb.Field_CARDINALITY_REPEATED
69+
)
70+
71+
var (
72+
Field_Cardinality_name = typepb.Field_Cardinality_name
73+
Field_Cardinality_value = typepb.Field_Cardinality_value
74+
)
75+
76+
type Type = typepb.Type
77+
type Field = typepb.Field
78+
type Enum = typepb.Enum
79+
type EnumValue = typepb.EnumValue
80+
type Option = typepb.Option
81+
82+
var File_google_protobuf_type_proto = typepb.File_google_protobuf_type_proto

‎protobuf/ptype/type.pb.go

-980
This file was deleted.
+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
// Copyright 2020 Google LLC
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
15+
// Package source_context aliases all exported identifiers in
16+
// package "google.golang.org/protobuf/types/known/sourcecontextpb".
17+
package source_context
18+
19+
import "google.golang.org/protobuf/types/known/sourcecontextpb"
20+
21+
type SourceContext = sourcecontextpb.SourceContext
22+
23+
var File_google_protobuf_source_context_proto = sourcecontextpb.File_google_protobuf_source_context_proto

‎protobuf/source_context/source_context.pb.go

-193
This file was deleted.

0 commit comments

Comments
 (0)
Please sign in to comment.