1// Copyright 2017 Google Inc. All rights reserved.
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
15bootstrap_go_package {
16    name: "protoc-gen-go_descriptor",
17    pkgPath: "github.com/golang/protobuf/protoc-gen-go/descriptor",
18    deps: ["golang-protobuf-proto"],
19    srcs: ["protoc-gen-go/descriptor/descriptor.pb.go"],
20}
21
22bootstrap_go_package {
23    name: "protoc-gen-go_plugin",
24    pkgPath: "github.com/golang/protobuf/protoc-gen-go/plugin",
25    deps: [
26        "golang-protobuf-proto",
27        "protoc-gen-go_descriptor",
28    ],
29    srcs: ["protoc-gen-go/plugin/plugin.pb.go"],
30}
31
32bootstrap_go_package {
33    name: "protoc-gen-go_generator",
34    pkgPath: "github.com/golang/protobuf/protoc-gen-go/generator",
35    deps: [
36        "golang-protobuf-proto",
37        "protoc-gen-go_descriptor",
38        "protoc-gen-go_plugin",
39    ],
40    srcs: ["protoc-gen-go/generator/generator.go"],
41    testSrcs: ["protoc-gen-go/generator/name_test.go"],
42}
43
44bootstrap_go_package {
45    name: "protoc-gen-go_grpc",
46    pkgPath: "github.com/golang/protobuf/protoc-gen-go/grpc",
47    deps: [
48        "protoc-gen-go_descriptor",
49        "protoc-gen-go_generator",
50    ],
51    srcs: ["protoc-gen-go/grpc/grpc.go"],
52}
53
54blueprint_go_binary {
55    name: "protoc-gen-go",
56    deps: [
57        "golang-protobuf-proto",
58        "protoc-gen-go_generator",
59        "protoc-gen-go_grpc",
60    ],
61    srcs: [
62        "protoc-gen-go/main.go",
63        "protoc-gen-go/link_grpc.go",
64    ],
65}
66
67bootstrap_go_package {
68    name: "golang-protobuf-proto",
69    pkgPath: "github.com/golang/protobuf/proto",
70    srcs: [
71        "proto/clone.go",
72        "proto/decode.go",
73        "proto/encode.go",
74        "proto/equal.go",
75        "proto/extensions.go",
76        "proto/lib.go",
77        "proto/message_set.go",
78        "proto/pointer_unsafe.go",
79        "proto/properties.go",
80        "proto/text.go",
81        "proto/text_parser.go",
82    ],
83    testSrcs: [
84        "proto/message_set_test.go",
85        "proto/size2_test.go",
86    ],
87}
88
89bootstrap_go_package {
90    name: "golang-protobuf-proto-proto3_proto",
91    pkgPath: "github.com/golang/protobuf/proto/proto3_proto",
92    deps: [
93        "golang-protobuf-proto",
94        "golang-protobuf-proto-testdata",
95        "golang-protobuf-ptypes-any",
96    ],
97    srcs: ["proto/proto3_proto/proto3.pb.go"],
98}
99
100// These won't run by default (they also print output, which we don't want), but
101// can be run with:
102//  m out/soong/.bootstrap/golang-protobuf-proto_test/test/test.passed
103bootstrap_go_package {
104    name: "golang-protobuf-proto_test",
105    pkgPath: "github.com/golang/protobuf/proto_test",
106    deps: [
107        "golang-protobuf-proto",
108        "golang-protobuf-proto-proto3_proto",
109        "golang-protobuf-proto-testdata",
110        "golang-protobuf-ptypes",
111    ],
112    testSrcs: [
113        "proto/all_test.go",
114        "proto/any_test.go",
115        "proto/clone_test.go",
116        "proto/decode_test.go",
117        "proto/encode_test.go",
118        "proto/equal_test.go",
119        // Requires golang.org/x/sync/errgroup
120        //"proto/extensions_test.go",
121        "proto/map_test.go",
122        "proto/proto3_test.go",
123        "proto/size_test.go",
124        "proto/text_parser_test.go",
125        "proto/text_test.go",
126    ],
127}
128
129bootstrap_go_package {
130    name: "golang-protobuf-proto-testdata",
131    pkgPath: "github.com/golang/protobuf/proto/testdata",
132    deps: ["golang-protobuf-proto"],
133    srcs: ["proto/testdata/test.pb.go"],
134}
135
136bootstrap_go_package {
137    name: "golang-protobuf-ptypes",
138    pkgPath: "github.com/golang/protobuf/ptypes",
139    deps: [
140        "golang-protobuf-proto",
141        "golang-protobuf-ptypes-any",
142        "golang-protobuf-ptypes-duration",
143        "golang-protobuf-ptypes-timestamp",
144        "protoc-gen-go_descriptor",
145    ],
146    srcs: [
147        "ptypes/any.go",
148        "ptypes/doc.go",
149        "ptypes/duration.go",
150        "ptypes/timestamp.go",
151    ],
152    testSrcs: [
153        "ptypes/any_test.go",
154        "ptypes/duration_test.go",
155        "ptypes/timestamp_test.go",
156    ],
157}
158
159bootstrap_go_package {
160    name: "golang-protobuf-ptypes-any",
161    pkgPath: "github.com/golang/protobuf/ptypes/any",
162    deps: ["golang-protobuf-proto"],
163    srcs: ["ptypes/any/any.pb.go"],
164}
165
166bootstrap_go_package {
167    name: "golang-protobuf-ptypes-duration",
168    pkgPath: "github.com/golang/protobuf/ptypes/duration",
169    deps: ["golang-protobuf-proto"],
170    srcs: ["ptypes/duration/duration.pb.go"],
171}
172
173bootstrap_go_package {
174    name: "golang-protobuf-ptypes-empty",
175    pkgPath: "github.com/golang/protobuf/ptypes/empty",
176    deps: ["golang-protobuf-proto"],
177    srcs: ["ptypes/empty/empty.pb.go"],
178}
179
180bootstrap_go_package {
181    name: "golang-protobuf-ptypes-struct",
182    pkgPath: "github.com/golang/protobuf/ptypes/struct",
183    deps: ["golang-protobuf-proto"],
184    srcs: ["ptypes/struct/struct.pb.go"],
185}
186
187bootstrap_go_package {
188    name: "golang-protobuf-ptypes-timestamp",
189    pkgPath: "github.com/golang/protobuf/ptypes/timestamp",
190    deps: ["golang-protobuf-proto"],
191    srcs: ["ptypes/timestamp/timestamp.pb.go"],
192}
193
194bootstrap_go_package {
195    name: "golang-protobuf-ptypes-wrappers",
196    pkgPath: "github.com/golang/protobuf/ptypes/wrappers",
197    deps: ["golang-protobuf-proto"],
198    srcs: ["ptypes/wrappers/wrappers.pb.go"],
199}
200