Skip to content
This repository was archived by the owner on Oct 3, 2023. It is now read-only.

Commit a5f3b19

Browse files
author
Bogdan Drutu
authored
Add makefile, upgrade to use opentelemetry protoc docker, newer protoc (#225)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
1 parent 032ec2a commit a5f3b19

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+1841
-1773
lines changed

Makefile

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
OTEL_DOCKER_PROTOBUF ?= otel/build-protobuf:0.11.0
2+
BUF_DOCKER ?= bufbuild/buf:1.7.0
3+
4+
PROTOC := docker run --rm -u ${shell id -u} -v${PWD}:${PWD} -w${PWD} ${OTEL_DOCKER_PROTOBUF} --proto_path=${PWD}/src
5+
6+
7+
PROTO_GEN_GO_DIR ?= gen-go
8+
PROTO_GEN_PYTHON_DIR ?= gen-python
9+
PROTO_GEN_RUBY_DIR ?= gen-ruby
10+
PROTO_GEN_OPENAPI_DIR ?= gen-openapi
11+
12+
# Generate gRPC/Protobuf implementation for Go.
13+
.PHONY: gen-go
14+
gen-go:
15+
$(PROTOC) --go_out=plugins=grpc:./$(PROTO_GEN_GO_DIR) opencensus/proto/agent/common/v1/common.proto
16+
$(PROTOC) --go_out=plugins=grpc:./$(PROTO_GEN_GO_DIR) opencensus/proto/resource/v1/resource.proto
17+
$(PROTOC) --go_out=plugins=grpc:./$(PROTO_GEN_GO_DIR) opencensus/proto/metrics/v1/metrics.proto
18+
$(PROTOC) --go_out=plugins=grpc:./$(PROTO_GEN_GO_DIR) opencensus/proto/stats/v1/stats.proto
19+
$(PROTOC) --go_out=plugins=grpc:./$(PROTO_GEN_GO_DIR) opencensus/proto/trace/v1/trace.proto
20+
$(PROTOC) --go_out=plugins=grpc:./$(PROTO_GEN_GO_DIR) opencensus/proto/trace/v1/trace_config.proto
21+
$(PROTOC) --go_out=plugins=grpc:./$(PROTO_GEN_GO_DIR) opencensus/proto/agent/common/v1/common.proto
22+
$(PROTOC) --go_out=plugins=grpc:./$(PROTO_GEN_GO_DIR) opencensus/proto/agent/metrics/v1/metrics_service.proto
23+
$(PROTOC) --go_out=plugins=grpc:./$(PROTO_GEN_GO_DIR) opencensus/proto/agent/trace/v1/trace_service.proto
24+
$(PROTOC) --grpc-gateway_out=logtostderr=true,grpc_api_configuration=src/opencensus/proto/agent/trace/v1/trace_service_http.yaml:./$(PROTO_GEN_GO_DIR) opencensus/proto/agent/trace/v1/trace_service.proto
25+
$(PROTOC) --grpc-gateway_out=logtostderr=true,grpc_api_configuration=src/opencensus/proto/agent/metrics/v1/metrics_service_http.yaml:./$(PROTO_GEN_GO_DIR) opencensus/proto/agent/metrics/v1/metrics_service.proto
26+
mv $(PROTO_GEN_GO_DIR)/github.com/census-instrumentation/opencensus-proto/gen-go/* $(PROTO_GEN_GO_DIR)
27+
rm -fr $(PROTO_GEN_GO_DIR)/github.com
28+
29+
# Generate gRPC/Protobuf implementation for Go.
30+
.PHONY: gen-python
31+
gen-python:
32+
$(PROTOC) --python_out=./$(PROTO_GEN_PYTHON_DIR) opencensus/proto/agent/common/v1/common.proto
33+
$(PROTOC) --python_out=./$(PROTO_GEN_PYTHON_DIR) opencensus/proto/resource/v1/resource.proto
34+
$(PROTOC) --python_out=./$(PROTO_GEN_PYTHON_DIR) opencensus/proto/metrics/v1/metrics.proto
35+
$(PROTOC) --python_out=./$(PROTO_GEN_PYTHON_DIR) opencensus/proto/stats/v1/stats.proto
36+
$(PROTOC) --python_out=./$(PROTO_GEN_PYTHON_DIR) opencensus/proto/trace/v1/trace.proto
37+
$(PROTOC) --python_out=./$(PROTO_GEN_PYTHON_DIR) opencensus/proto/trace/v1/trace_config.proto
38+
$(PROTOC) --python_out=./$(PROTO_GEN_PYTHON_DIR) opencensus/proto/agent/common/v1/common.proto
39+
$(PROTOC) --python_out=./$(PROTO_GEN_PYTHON_DIR) --grpc-python_out=./$(PROTO_GEN_PYTHON_DIR) opencensus/proto/agent/metrics/v1/metrics_service.proto
40+
$(PROTOC) --python_out=./$(PROTO_GEN_PYTHON_DIR) --grpc-python_out=./$(PROTO_GEN_PYTHON_DIR) opencensus/proto/agent/trace/v1/trace_service.proto
41+
42+
# Generate gRPC/Protobuf implementation for Go.
43+
.PHONY: gen-ruby
44+
gen-ruby:
45+
$(PROTOC) --ruby_out=./$(PROTO_GEN_RUBY_DIR) opencensus/proto/agent/common/v1/common.proto
46+
$(PROTOC) --ruby_out=./$(PROTO_GEN_RUBY_DIR) opencensus/proto/resource/v1/resource.proto
47+
$(PROTOC) --ruby_out=./$(PROTO_GEN_RUBY_DIR) opencensus/proto/metrics/v1/metrics.proto
48+
$(PROTOC) --ruby_out=./$(PROTO_GEN_RUBY_DIR) opencensus/proto/stats/v1/stats.proto
49+
$(PROTOC) --ruby_out=./$(PROTO_GEN_RUBY_DIR) opencensus/proto/trace/v1/trace.proto
50+
$(PROTOC) --ruby_out=./$(PROTO_GEN_RUBY_DIR) opencensus/proto/trace/v1/trace_config.proto
51+
$(PROTOC) --ruby_out=./$(PROTO_GEN_RUBY_DIR) opencensus/proto/agent/common/v1/common.proto
52+
$(PROTOC) --ruby_out=./$(PROTO_GEN_RUBY_DIR) --grpc-ruby_out=./$(PROTO_GEN_RUBY_DIR) opencensus/proto/agent/metrics/v1/metrics_service.proto
53+
$(PROTOC) --ruby_out=./$(PROTO_GEN_RUBY_DIR) --grpc-ruby_out=./$(PROTO_GEN_RUBY_DIR) opencensus/proto/agent/trace/v1/trace_service.proto
54+
55+
# Generate OpenApi (Swagger) documentation file for grpc-gateway endpoints.
56+
.PHONY: gen-openapi
57+
gen-openapi:
58+
$(PROTOC) --openapiv2_out=logtostderr=true,grpc_api_configuration=src/opencensus/proto/agent/trace/v1/trace_service_http.yaml:$(PROTO_GEN_OPENAPI_DIR) opencensus/proto/agent/trace/v1/trace_service.proto
59+
$(PROTOC) --openapiv2_out=logtostderr=true,grpc_api_configuration=src/opencensus/proto/agent/metrics/v1/metrics_service_http.yaml:$(PROTO_GEN_OPENAPI_DIR) opencensus/proto/agent/metrics/v1/metrics_service.proto

RELEASING.md

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -17,56 +17,56 @@ Follow the instructions [here](http://google.github.io/proto-lens/installing-pro
1717
Then run the following commands to re-generate the gen-go files:
1818

1919
```bash
20-
$ cd $(go env GOPATH)/src/github.com/census-instrumentation/opencensus-proto
2120
$ git checkout -b update-gen-go
22-
$ rm -rf gen-go
23-
$ cd src
24-
$ ./mkgogen.sh
21+
$ rm -rf gen-go/*
22+
$ make gen-go
2523
$ git add -A
2624
$ git commit -m "Update gen-go files."
2725
```
2826

2927
Go through PR review and merge the changes to GitHub.
3028

31-
## Release Ruby files
29+
## Release OpenAPI files
3230

33-
To generate the Ruby files from protos, you'll need to install grpc-tools gem.
31+
Then run the following commands to re-generate the gen-openapi files:
3432

3533
```bash
36-
gem install grpc-tools
34+
$ git checkout -b update-gen-ruby
35+
$ rm -rf gen-openapi/*
36+
$ make gen-openapi
37+
$ git add -A
38+
$ git commit -m "Update gen-openapi files."
3739
```
3840

41+
Go through PR review and merge the changes to GitHub.
42+
43+
## Release Ruby files
44+
3945
Then run the following commands to re-generate the gen-ruby files:
4046

4147
```bash
42-
$ git@github.com:census-instrumentation/opencensus-proto.git
43-
$ cd opencensus-proto
4448
$ git checkout -b update-gen-ruby
45-
$ rm -rf gen-ruby
46-
$ cd src
47-
$ ./mkrubygen.sh
49+
$ rm -rf gen-ruby/*
50+
$ make gen-ruby
4851
$ git add -A
4952
$ git commit -m "Update gen-ruby files."
5053
```
5154

52-
## Release Python files
53-
54-
To generate the Python files from protos, you'll need to install grpc-tools from PIP.
55+
Go through PR review and merge the changes to GitHub.
5556

56-
```bash
57-
python -m pip install grpcio-tools
58-
```
57+
## Release Python files
5958

6059
Then run the following commands to re-generate the gen-python files:
6160

6261
```bash
6362
$ git checkout -b update-gen-python # Assume you're under opencensus-proto/
64-
$ cd src
65-
$ ./mkpygen.sh
63+
$ make gen-python
6664
$ git add -A
6765
$ git commit -m "Update gen-python files."
6866
```
6967

68+
Go through PR review and merge the changes to GitHub.
69+
7070
## Tagging the Release
7171

7272
Our release branches follow the naming convention of `v<major>.<minor>.x`, while the tags include the

gen-go/agent/common/v1/common.pb.go

Lines changed: 17 additions & 21 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)