@@ -37,6 +37,7 @@ PROTOC_GEN_GRPC_JAVA_VERSION := 1.63.0
3737PROTOC_GEN_JS_VERSION := 3.21.2
3838GRPC_TOOLS_VERSION := 1.12.4
3939TS_PROTOC_GEN_VERSION := 0.15.0
40+ GRPC_CSHARP_PLUGIN_VERSION := 2.64.0
4041
4142# This is the commit hash for the https://github.com/googleapis/googleapis repo
4243GRPC_STATUS_VERSION := f36c65081b19e0758ef5696feca27c7dcee5475e
@@ -215,6 +216,27 @@ $(TS_PROTOC_GEN):
215216 @mkdir -p $(dir $(TS_PROTOC_GEN ) )
216217 @touch $(TS_PROTOC_GEN )
217218
219+ # GRPC_CSHARP_PLUGIN points to the marker file for the installed version.
220+ #
221+ # If GRPC_CSHARP_PLUGIN_VERSION is changed, the binary will be re-downloaded.
222+ #
223+ # TODO: no arm mac version
224+ GRPC_CSHARP_PLUGIN := $(CACHE_VERSIONS ) /grpc_csharp_plugin/$(GRPC_CSHARP_PLUGIN_VERSION )
225+ $(GRPC_CSHARP_PLUGIN ) :
226+ @rm -f $(CACHE_BIN ) /grpc_csharp_plugin
227+ @mkdir -p $(CACHE_BIN )
228+ $(eval GRPC_CSHARP_PLUGIN_TMP := $(shell mktemp -d) )
229+ curl -sSL \
230+ " https://www.nuget.org/api/v2/package/Grpc.Tools/$( GRPC_CSHARP_PLUGIN_VERSION) " \
231+ -o " $( GRPC_CSHARP_PLUGIN_TMP) /grpc.tools.$( GRPC_CSHARP_PLUGIN_VERSION) .nupkg"
232+ unzip -o " $( GRPC_CSHARP_PLUGIN_TMP) /grpc.tools.$( GRPC_CSHARP_PLUGIN_VERSION) .nupkg" -d " $( GRPC_CSHARP_PLUGIN_TMP) " tools/macosx_x64/grpc_csharp_plugin
233+ mv " $( GRPC_CSHARP_PLUGIN_TMP) /tools/macosx_x64/grpc_csharp_plugin" " $( CACHE_BIN) "
234+ chmod +x " $( CACHE_BIN) /grpc_csharp_plugin"
235+ @rm -rf $(GRPC_CSHARP_PLUGIN_TMP )
236+ @rm -rf $(dir $(GRPC_CSHARP_PLUGIN ) )
237+ @mkdir -p $(dir $(GRPC_CSHARP_PLUGIN ) )
238+ @touch $(GRPC_CSHARP_PLUGIN )
239+
218240.DEFAULT_GOAL := all
219241
220242.PHONY : all
@@ -223,7 +245,7 @@ all: lint javabindings nodebindings
223245# deps allows us to install deps without running any checks.
224246
225247.PHONY : deps
226- deps : $(BUF ) $(PROTOC ) $(PROTOC_GEN_DOC ) $(PROTOC_GEN_GO ) $(PROTOC_GEN_GO_GRPC ) $(PROTOC_GEN_GRPC_JAVA ) $(PROTOC_GEN_JS ) $(GRPC_TOOLS ) $(TS_PROTOC_GEN )
248+ deps : $(BUF ) $(PROTOC ) $(PROTOC_GEN_DOC ) $(PROTOC_GEN_GO ) $(PROTOC_GEN_GO_GRPC ) $(PROTOC_GEN_GRPC_JAVA ) $(PROTOC_GEN_JS ) $(GRPC_TOOLS ) $(TS_PROTOC_GEN ) $( GRPC_CSHARP_PLUGIN )
227249
228250.PHONY : lint
229251lint : https
0 commit comments