diff --git a/Makefile b/Makefile index 7c5c6c776ffa5..c6b74e596bdfd 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,7 @@ GENERATED_DIR=$(shell pwd)/generated_python -FINAL_DIR=gcloud/bigtable/_generated +FINAL_DIR=$(shell pwd)/gcloud/bigtable/_generated GRPC_PLUGIN=grpc_python_plugin +PROTOC_CMD=protoc help: @echo 'Makefile for gcloud-python Bigtable protos ' @@ -15,56 +16,99 @@ generate: mkdir -p $(GENERATED_DIR) # Data API cd cloud-bigtable-client/bigtable-protos/src/main/proto && \ - protoc --python_out=$(GENERATED_DIR) --grpc_out=$(GENERATED_DIR) \ - --plugin=protoc-gen-grpc=$(GRPC_PLUGIN) google/bigtable/v1/*.proto + $(PROTOC_CMD) --python_out=$(GENERATED_DIR) --grpc_out=$(GENERATED_DIR) \ + --plugin=protoc-gen-grpc=$(GRPC_PLUGIN) google/bigtable/v1/*.proto && \ + cp google/bigtable/v1/bigtable_data.proto \ + $(FINAL_DIR)/_bigtable_data.proto && \ + cp google/bigtable/v1/bigtable_service.proto \ + $(FINAL_DIR)/_bigtable_service.proto && \ + cp google/bigtable/v1/bigtable_service_messages.proto \ + $(FINAL_DIR)/_bigtable_service_messages.proto && \ + chmod -x $(FINAL_DIR)/_bigtable_data.proto && \ + chmod -x $(FINAL_DIR)/_bigtable_service.proto && \ + chmod -x $(FINAL_DIR)/_bigtable_service_messages.proto mv $(GENERATED_DIR)/google/bigtable/v1/* $(FINAL_DIR) # Cluster API cd cloud-bigtable-client/bigtable-protos/src/main/proto && \ - protoc --python_out=$(GENERATED_DIR) --grpc_out=$(GENERATED_DIR) \ + $(PROTOC_CMD) --python_out=$(GENERATED_DIR) --grpc_out=$(GENERATED_DIR) \ --plugin=protoc-gen-grpc=$(GRPC_PLUGIN) \ - google/bigtable/admin/cluster/v1/*.proto + google/bigtable/admin/cluster/v1/*.proto && \ + cp google/bigtable/admin/cluster/v1/bigtable_cluster_data.proto \ + $(FINAL_DIR)/_bigtable_cluster_data.proto && \ + cp google/bigtable/admin/cluster/v1/bigtable_cluster_service.proto \ + $(FINAL_DIR)/_bigtable_cluster_service.proto && \ + cp google/bigtable/admin/cluster/v1/bigtable_cluster_service_messages.proto \ + $(FINAL_DIR)/_bigtable_cluster_service_messages.proto && \ + chmod -x $(FINAL_DIR)/_bigtable_cluster_data.proto && \ + chmod -x $(FINAL_DIR)/_bigtable_cluster_service.proto && \ + chmod -x $(FINAL_DIR)/_bigtable_cluster_service_messages.proto mv $(GENERATED_DIR)/google/bigtable/admin/cluster/v1/* $(FINAL_DIR) # Table API cd cloud-bigtable-client/bigtable-protos/src/main/proto && \ - protoc --python_out=$(GENERATED_DIR) --grpc_out=$(GENERATED_DIR) \ + $(PROTOC_CMD) --python_out=$(GENERATED_DIR) --grpc_out=$(GENERATED_DIR) \ --plugin=protoc-gen-grpc=$(GRPC_PLUGIN) \ - google/bigtable/admin/table/v1/*.proto + google/bigtable/admin/table/v1/*.proto && \ + cp google/bigtable/admin/table/v1/bigtable_table_data.proto \ + $(FINAL_DIR)/_bigtable_table_data.proto && \ + cp google/bigtable/admin/table/v1/bigtable_table_service.proto \ + $(FINAL_DIR)/_bigtable_table_service.proto && \ + cp google/bigtable/admin/table/v1/bigtable_table_service_messages.proto \ + $(FINAL_DIR)/_bigtable_table_service_messages.proto && \ + chmod -x $(FINAL_DIR)/_bigtable_table_data.proto && \ + chmod -x $(FINAL_DIR)/_bigtable_table_service.proto && \ + chmod -x $(FINAL_DIR)/_bigtable_table_service_messages.proto mv $(GENERATED_DIR)/google/bigtable/admin/table/v1/* $(FINAL_DIR) # Auxiliary protos cd cloud-bigtable-client/bigtable-protos/src/main/proto && \ - protoc --python_out=$(GENERATED_DIR) --grpc_out=$(GENERATED_DIR) \ + $(PROTOC_CMD) --python_out=$(GENERATED_DIR) --grpc_out=$(GENERATED_DIR) \ --plugin=protoc-gen-grpc=$(GRPC_PLUGIN) \ - google/api/*.proto + google/api/*.proto && \ + cp google/api/annotations.proto $(FINAL_DIR)/_annotations.proto && \ + cp google/api/http.proto $(FINAL_DIR)/_http.proto && \ + chmod -x $(FINAL_DIR)/_annotations.proto && \ + chmod -x $(FINAL_DIR)/_http.proto mv $(GENERATED_DIR)/google/api/* $(FINAL_DIR) cd cloud-bigtable-client/bigtable-protos/src/main/proto && \ - protoc --python_out=$(GENERATED_DIR) --grpc_out=$(GENERATED_DIR) \ + $(PROTOC_CMD) --python_out=$(GENERATED_DIR) --grpc_out=$(GENERATED_DIR) \ --plugin=protoc-gen-grpc=$(GRPC_PLUGIN) \ - google/protobuf/any.proto + google/protobuf/any.proto && \ + cp google/protobuf/any.proto $(FINAL_DIR)/_any.proto && \ + chmod -x $(FINAL_DIR)/_any.proto mv $(GENERATED_DIR)/google/protobuf/any_pb2.py $(FINAL_DIR) cd cloud-bigtable-client/bigtable-protos/src/main/proto && \ - protoc --python_out=$(GENERATED_DIR) --grpc_out=$(GENERATED_DIR) \ + $(PROTOC_CMD) --python_out=$(GENERATED_DIR) --grpc_out=$(GENERATED_DIR) \ --plugin=protoc-gen-grpc=$(GRPC_PLUGIN) \ - google/protobuf/duration.proto + google/protobuf/duration.proto && \ + cp google/protobuf/duration.proto $(FINAL_DIR)/_duration.proto && \ + chmod -x $(FINAL_DIR)/_duration.proto mv $(GENERATED_DIR)/google/protobuf/duration_pb2.py $(FINAL_DIR) cd cloud-bigtable-client/bigtable-protos/src/main/proto && \ - protoc --python_out=$(GENERATED_DIR) --grpc_out=$(GENERATED_DIR) \ + $(PROTOC_CMD) --python_out=$(GENERATED_DIR) --grpc_out=$(GENERATED_DIR) \ --plugin=protoc-gen-grpc=$(GRPC_PLUGIN) \ - google/protobuf/empty.proto + google/protobuf/empty.proto && \ + cp google/protobuf/empty.proto $(FINAL_DIR)/_empty.proto && \ + chmod -x $(FINAL_DIR)/_empty.proto mv $(GENERATED_DIR)/google/protobuf/empty_pb2.py $(FINAL_DIR) cd cloud-bigtable-client/bigtable-protos/src/main/proto && \ - protoc --python_out=$(GENERATED_DIR) --grpc_out=$(GENERATED_DIR) \ + $(PROTOC_CMD) --python_out=$(GENERATED_DIR) --grpc_out=$(GENERATED_DIR) \ --plugin=protoc-gen-grpc=$(GRPC_PLUGIN) \ - google/protobuf/timestamp.proto + google/protobuf/timestamp.proto && \ + cp google/protobuf/timestamp.proto $(FINAL_DIR)/_timestamp.proto && \ + chmod -x $(FINAL_DIR)/_timestamp.proto mv $(GENERATED_DIR)/google/protobuf/timestamp_pb2.py $(FINAL_DIR) cd cloud-bigtable-client/bigtable-protos/src/main/proto && \ - protoc --python_out=$(GENERATED_DIR) --grpc_out=$(GENERATED_DIR) \ + $(PROTOC_CMD) --python_out=$(GENERATED_DIR) --grpc_out=$(GENERATED_DIR) \ --plugin=protoc-gen-grpc=$(GRPC_PLUGIN) \ - google/longrunning/operations.proto + google/longrunning/operations.proto && \ + cp google/longrunning/operations.proto $(FINAL_DIR)/_operations.proto && \ + chmod -x $(FINAL_DIR)/_operations.proto mv $(GENERATED_DIR)/google/longrunning/operations_pb2.py $(FINAL_DIR) cd cloud-bigtable-client/bigtable-protos/src/main/proto && \ - protoc --python_out=$(GENERATED_DIR) --grpc_out=$(GENERATED_DIR) \ + $(PROTOC_CMD) --python_out=$(GENERATED_DIR) --grpc_out=$(GENERATED_DIR) \ --plugin=protoc-gen-grpc=$(GRPC_PLUGIN) \ - google/rpc/status.proto + google/rpc/status.proto && \ + cp google/rpc/status.proto $(FINAL_DIR)/_status.proto && \ + chmod -x $(FINAL_DIR)/_status.proto mv $(GENERATED_DIR)/google/rpc/status_pb2.py $(FINAL_DIR) python scripts/rewrite_imports.py