Browse Source

Update remaining examples to remove explicit -lz linker commands.

Libz is now provided by an imported package.
Note that Xcode builds that use swift-proto may fail
due to a problem in the 0.9.903 version:

https://github.com/apple/swift-protobuf/issues/570
Tim Burks 8 years ago
parent
commit
e5568059fa

+ 1 - 0
.gitignore

@@ -7,3 +7,4 @@ Plugin/Packages/**
 Plugin/protoc-*
 Plugin/swiftgrpc.log
 Plugin/echo.*.swift
+SwiftGRPC.xcodeproj

+ 1 - 3
Examples/Datastore/PackageManager/Makefile

@@ -1,8 +1,6 @@
 
-LDFLAGS = -Xlinker -lz 
-
 all:
-	swift build -v $(LDFLAGS)
+	swift build
 	cp .build/debug/Datastore .
 
 clean :

+ 161 - 131
Examples/Echo/Xcode/Echo.xcodeproj/project.pbxproj

@@ -7,6 +7,7 @@
 	objects = {
 
 /* Begin PBXBuildFile section */
+		D315DF011EE8C591007670CE /* SwiftProtobuf.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D315DEEA1EE8B29B007670CE /* SwiftProtobuf.framework */; };
 		D35358201E219963007FA223 /* echo.client.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = D353581D1E219963007FA223 /* echo.client.pb.swift */; };
 		D35358211E219963007FA223 /* echo.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = D353581E1E219963007FA223 /* echo.pb.swift */; };
 		D35358221E219963007FA223 /* echo.server.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = D353581F1E219963007FA223 /* echo.server.pb.swift */; };
@@ -20,114 +21,137 @@
 /* End PBXBuildFile section */
 
 /* Begin PBXContainerItemProxy section */
-		D371D5CB1EA92FC600C39169 /* PBXContainerItemProxy */ = {
+		D315DED31EE8B284007670CE /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
-			containerPortal = D371D5C41EA92FC600C39169 /* SwiftGRPC.xcodeproj */;
+			containerPortal = D315DECA1EE8B284007670CE /* SwiftGRPC.xcodeproj */;
 			proxyType = 2;
-			remoteGlobalIDString = OBJ_778;
-			remoteInfo = CgRPC;
-		};
-		D371D5CD1EA92FC600C39169 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = D371D5C41EA92FC600C39169 /* SwiftGRPC.xcodeproj */;
-			proxyType = 2;
-			remoteGlobalIDString = OBJ_779;
-			remoteInfo = BoringSSL;
+			remoteGlobalIDString = OBJ_803;
+			remoteInfo = "zlib-example";
 		};
-		D371D5CF1EA92FC600C39169 /* PBXContainerItemProxy */ = {
+		D315DED51EE8B284007670CE /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
-			containerPortal = D371D5C41EA92FC600C39169 /* SwiftGRPC.xcodeproj */;
+			containerPortal = D315DECA1EE8B284007670CE /* SwiftGRPC.xcodeproj */;
 			proxyType = 2;
-			remoteGlobalIDString = OBJ_780;
-			remoteInfo = gRPC;
+			remoteGlobalIDString = OBJ_804;
+			remoteInfo = Czlib;
 		};
-		D371D5D11EA92FC600C39169 /* PBXContainerItemProxy */ = {
+		D315DED71EE8B284007670CE /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
-			containerPortal = D371D5C41EA92FC600C39169 /* SwiftGRPC.xcodeproj */;
+			containerPortal = D315DECA1EE8B284007670CE /* SwiftGRPC.xcodeproj */;
 			proxyType = 2;
-			remoteGlobalIDString = OBJ_781;
-			remoteInfo = gRPCTests;
-		};
-		D371D5D31EA92FDE00C39169 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = D371D5C41EA92FC600C39169 /* SwiftGRPC.xcodeproj */;
-			proxyType = 1;
-			remoteGlobalIDString = OBJ_782;
+			remoteGlobalIDString = OBJ_805;
 			remoteInfo = CgRPC;
 		};
-		D371D5D51EA92FDE00C39169 /* PBXContainerItemProxy */ = {
+		D315DED91EE8B284007670CE /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
-			containerPortal = D371D5C41EA92FC600C39169 /* SwiftGRPC.xcodeproj */;
-			proxyType = 1;
-			remoteGlobalIDString = OBJ_1062;
+			containerPortal = D315DECA1EE8B284007670CE /* SwiftGRPC.xcodeproj */;
+			proxyType = 2;
+			remoteGlobalIDString = OBJ_806;
 			remoteInfo = BoringSSL;
 		};
-		D371D5D71EA92FDE00C39169 /* PBXContainerItemProxy */ = {
+		D315DEDB1EE8B284007670CE /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
-			containerPortal = D371D5C41EA92FC600C39169 /* SwiftGRPC.xcodeproj */;
-			proxyType = 1;
-			remoteGlobalIDString = OBJ_1366;
+			containerPortal = D315DECA1EE8B284007670CE /* SwiftGRPC.xcodeproj */;
+			proxyType = 2;
+			remoteGlobalIDString = OBJ_807;
 			remoteInfo = gRPC;
 		};
-		D371D5E31EA9306600C39169 /* PBXContainerItemProxy */ = {
+		D315DEDD1EE8B284007670CE /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
-			containerPortal = D371D5D91EA9306500C39169 /* SwiftProtobuf.xcodeproj */;
+			containerPortal = D315DECA1EE8B284007670CE /* SwiftGRPC.xcodeproj */;
+			proxyType = 2;
+			remoteGlobalIDString = OBJ_808;
+			remoteInfo = gRPCTests;
+		};
+		D315DEE91EE8B29B007670CE /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = D315DEDF1EE8B29A007670CE /* SwiftProtobuf.xcodeproj */;
 			proxyType = 2;
 			remoteGlobalIDString = "_____Product_Protobuf_macOS";
 			remoteInfo = SwiftProtobuf_macOS;
 		};
-		D371D5E51EA9306600C39169 /* PBXContainerItemProxy */ = {
+		D315DEEB1EE8B29B007670CE /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
-			containerPortal = D371D5D91EA9306500C39169 /* SwiftProtobuf.xcodeproj */;
+			containerPortal = D315DEDF1EE8B29A007670CE /* SwiftProtobuf.xcodeproj */;
 			proxyType = 2;
 			remoteGlobalIDString = "_____Product_ProtobufTestSuite_macOS";
 			remoteInfo = SwiftProtobufTestSuite_macOS;
 		};
-		D371D5E71EA9306600C39169 /* PBXContainerItemProxy */ = {
+		D315DEED1EE8B29B007670CE /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
-			containerPortal = D371D5D91EA9306500C39169 /* SwiftProtobuf.xcodeproj */;
+			containerPortal = D315DEDF1EE8B29A007670CE /* SwiftProtobuf.xcodeproj */;
 			proxyType = 2;
 			remoteGlobalIDString = "_____Product_Protobuf_iOS";
 			remoteInfo = SwiftProtobuf_iOS;
 		};
-		D371D5E91EA9306600C39169 /* PBXContainerItemProxy */ = {
+		D315DEEF1EE8B29B007670CE /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
-			containerPortal = D371D5D91EA9306500C39169 /* SwiftProtobuf.xcodeproj */;
+			containerPortal = D315DEDF1EE8B29A007670CE /* SwiftProtobuf.xcodeproj */;
 			proxyType = 2;
 			remoteGlobalIDString = "_____Product_ProtobufTestSuite_iOS";
 			remoteInfo = SwiftProtobufTestSuite_iOS;
 		};
-		D371D5EB1EA9306600C39169 /* PBXContainerItemProxy */ = {
+		D315DEF11EE8B29B007670CE /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
-			containerPortal = D371D5D91EA9306500C39169 /* SwiftProtobuf.xcodeproj */;
+			containerPortal = D315DEDF1EE8B29A007670CE /* SwiftProtobuf.xcodeproj */;
 			proxyType = 2;
 			remoteGlobalIDString = F44F936F1DAEA53900BC5B85;
 			remoteInfo = SwiftProtobuf_tvOS;
 		};
-		D371D5ED1EA9306600C39169 /* PBXContainerItemProxy */ = {
+		D315DEF31EE8B29B007670CE /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
-			containerPortal = D371D5D91EA9306500C39169 /* SwiftProtobuf.xcodeproj */;
+			containerPortal = D315DEDF1EE8B29A007670CE /* SwiftProtobuf.xcodeproj */;
 			proxyType = 2;
 			remoteGlobalIDString = F44F939F1DAEA7C500BC5B85;
 			remoteInfo = SwiftProtobufTestSuite_tvOS;
 		};
-		D371D5EF1EA9306600C39169 /* PBXContainerItemProxy */ = {
+		D315DEF51EE8B29B007670CE /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
-			containerPortal = D371D5D91EA9306500C39169 /* SwiftProtobuf.xcodeproj */;
+			containerPortal = D315DEDF1EE8B29A007670CE /* SwiftProtobuf.xcodeproj */;
 			proxyType = 2;
 			remoteGlobalIDString = F44F93FE1DAEB13F00BC5B85;
 			remoteInfo = SwiftProtobuf_watchOS;
 		};
-		D371D5F11EA9307300C39169 /* PBXContainerItemProxy */ = {
+		D315DEF71EE8B2C1007670CE /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
-			containerPortal = D371D5D91EA9306500C39169 /* SwiftProtobuf.xcodeproj */;
+			containerPortal = D315DEDF1EE8B29A007670CE /* SwiftProtobuf.xcodeproj */;
 			proxyType = 1;
 			remoteGlobalIDString = "______Target_Protobuf";
 			remoteInfo = SwiftProtobuf_macOS;
 		};
+		D315DEF91EE8B2C7007670CE /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = D315DECA1EE8B284007670CE /* SwiftGRPC.xcodeproj */;
+			proxyType = 1;
+			remoteGlobalIDString = OBJ_818;
+			remoteInfo = Czlib;
+		};
+		D315DEFB1EE8B2C7007670CE /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = D315DECA1EE8B284007670CE /* SwiftGRPC.xcodeproj */;
+			proxyType = 1;
+			remoteGlobalIDString = OBJ_840;
+			remoteInfo = CgRPC;
+		};
+		D315DEFD1EE8B2C7007670CE /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = D315DECA1EE8B284007670CE /* SwiftGRPC.xcodeproj */;
+			proxyType = 1;
+			remoteGlobalIDString = OBJ_1122;
+			remoteInfo = BoringSSL;
+		};
+		D315DEFF1EE8B2C7007670CE /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = D315DECA1EE8B284007670CE /* SwiftGRPC.xcodeproj */;
+			proxyType = 1;
+			remoteGlobalIDString = OBJ_1428;
+			remoteInfo = gRPC;
+		};
 /* End PBXContainerItemProxy section */
 
 /* Begin PBXFileReference section */
+		D315DECA1EE8B284007670CE /* SwiftGRPC.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = SwiftGRPC.xcodeproj; path = ../../../SwiftGRPC.xcodeproj; sourceTree = "<group>"; };
+		D315DEDF1EE8B29A007670CE /* SwiftProtobuf.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = SwiftProtobuf.xcodeproj; path = "../../../third_party/swift-protobuf/SwiftProtobuf.xcodeproj"; sourceTree = "<group>"; };
 		D353581D1E219963007FA223 /* echo.client.pb.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = echo.client.pb.swift; path = ../Generated/echo.client.pb.swift; sourceTree = "<group>"; };
 		D353581E1E219963007FA223 /* echo.pb.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = echo.pb.swift; path = ../Generated/echo.pb.swift; sourceTree = "<group>"; };
 		D353581F1E219963007FA223 /* echo.server.pb.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = echo.server.pb.swift; path = ../Generated/echo.server.pb.swift; sourceTree = "<group>"; };
@@ -138,8 +162,6 @@
 		D35C9FB01D74B079000443CD /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
 		D35C9FB21D74B079000443CD /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
 		D35C9FC71D74B0C1000443CD /* EchoViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EchoViewController.swift; sourceTree = "<group>"; };
-		D371D5C41EA92FC600C39169 /* SwiftGRPC.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = SwiftGRPC.xcodeproj; path = ../../../SwiftGRPC.xcodeproj; sourceTree = "<group>"; };
-		D371D5D91EA9306500C39169 /* SwiftProtobuf.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = SwiftProtobuf.xcodeproj; path = "../../../third_party/swift-protobuf/SwiftProtobuf.xcodeproj"; sourceTree = "<group>"; };
 		D3971E201D89132E001A0B3F /* ssl.key */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ssl.key; sourceTree = "<group>"; };
 		D3BFE28B1D87A45D00A648D8 /* ssl.crt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ssl.crt; sourceTree = "<group>"; };
 /* End PBXFileReference section */
@@ -149,12 +171,40 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				D315DF011EE8C591007670CE /* SwiftProtobuf.framework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
 /* End PBXFrameworksBuildPhase section */
 
 /* Begin PBXGroup section */
+		D315DECB1EE8B284007670CE /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				D315DED41EE8B284007670CE /* zlib-example */,
+				D315DED61EE8B284007670CE /* Czlib.framework */,
+				D315DED81EE8B284007670CE /* CgRPC.framework */,
+				D315DEDA1EE8B284007670CE /* BoringSSL.framework */,
+				D315DEDC1EE8B284007670CE /* gRPC.framework */,
+				D315DEDE1EE8B284007670CE /* gRPCTests.xctest */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+		D315DEE01EE8B29A007670CE /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				D315DEEA1EE8B29B007670CE /* SwiftProtobuf.framework */,
+				D315DEEC1EE8B29B007670CE /* SwiftProtobufTests.xctest */,
+				D315DEEE1EE8B29B007670CE /* SwiftProtobuf.framework */,
+				D315DEF01EE8B29B007670CE /* SwiftProtobufTests.xctest */,
+				D315DEF21EE8B29B007670CE /* SwiftProtobuf.framework */,
+				D315DEF41EE8B29B007670CE /* SwiftProtobufTests.xctest */,
+				D315DEF61EE8B29B007670CE /* SwiftProtobuf.framework */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
 		D35358231E219971007FA223 /* Generated */ = {
 			isa = PBXGroup;
 			children = (
@@ -168,8 +218,8 @@
 		D35C9F9F1D74B079000443CD = {
 			isa = PBXGroup;
 			children = (
-				D371D5D91EA9306500C39169 /* SwiftProtobuf.xcodeproj */,
-				D371D5C41EA92FC600C39169 /* SwiftGRPC.xcodeproj */,
+				D315DEDF1EE8B29A007670CE /* SwiftProtobuf.xcodeproj */,
+				D315DECA1EE8B284007670CE /* SwiftGRPC.xcodeproj */,
 				D35C9FAA1D74B079000443CD /* Echo */,
 				D35358231E219971007FA223 /* Generated */,
 				D35358241E219980007FA223 /* EchoProvider.swift */,
@@ -199,31 +249,6 @@
 			path = Echo;
 			sourceTree = "<group>";
 		};
-		D371D5C51EA92FC600C39169 /* Products */ = {
-			isa = PBXGroup;
-			children = (
-				D371D5CC1EA92FC600C39169 /* CgRPC.framework */,
-				D371D5CE1EA92FC600C39169 /* BoringSSL.framework */,
-				D371D5D01EA92FC600C39169 /* gRPC.framework */,
-				D371D5D21EA92FC600C39169 /* gRPCTests.xctest */,
-			);
-			name = Products;
-			sourceTree = "<group>";
-		};
-		D371D5DA1EA9306500C39169 /* Products */ = {
-			isa = PBXGroup;
-			children = (
-				D371D5E41EA9306600C39169 /* SwiftProtobuf.framework */,
-				D371D5E61EA9306600C39169 /* SwiftProtobufTests.xctest */,
-				D371D5E81EA9306600C39169 /* SwiftProtobuf.framework */,
-				D371D5EA1EA9306600C39169 /* SwiftProtobufTests.xctest */,
-				D371D5EC1EA9306600C39169 /* SwiftProtobuf.framework */,
-				D371D5EE1EA9306600C39169 /* SwiftProtobufTests.xctest */,
-				D371D5F01EA9306600C39169 /* SwiftProtobuf.framework */,
-			);
-			name = Products;
-			sourceTree = "<group>";
-		};
 /* End PBXGroup section */
 
 /* Begin PBXNativeTarget section */
@@ -238,13 +263,11 @@
 			buildRules = (
 			);
 			dependencies = (
-				D371D5F21EA9307300C39169 /* PBXTargetDependency */,
-				D371D5D41EA92FDE00C39169 /* PBXTargetDependency */,
-				D371D5D61EA92FDE00C39169 /* PBXTargetDependency */,
-				D371D5D81EA92FDE00C39169 /* PBXTargetDependency */,
-				D38E00371E315DB700CE7B16 /* PBXTargetDependency */,
-				D38E00391E315DB700CE7B16 /* PBXTargetDependency */,
-				D38E003B1E315DB700CE7B16 /* PBXTargetDependency */,
+				D315DEFA1EE8B2C7007670CE /* PBXTargetDependency */,
+				D315DEFC1EE8B2C7007670CE /* PBXTargetDependency */,
+				D315DEFE1EE8B2C7007670CE /* PBXTargetDependency */,
+				D315DF001EE8B2C7007670CE /* PBXTargetDependency */,
+				D315DEF81EE8B2C1007670CE /* PBXTargetDependency */,
 			);
 			name = Echo;
 			productName = Echo;
@@ -281,12 +304,12 @@
 			projectDirPath = "";
 			projectReferences = (
 				{
-					ProductGroup = D371D5C51EA92FC600C39169 /* Products */;
-					ProjectRef = D371D5C41EA92FC600C39169 /* SwiftGRPC.xcodeproj */;
+					ProductGroup = D315DECB1EE8B284007670CE /* Products */;
+					ProjectRef = D315DECA1EE8B284007670CE /* SwiftGRPC.xcodeproj */;
 				},
 				{
-					ProductGroup = D371D5DA1EA9306500C39169 /* Products */;
-					ProjectRef = D371D5D91EA9306500C39169 /* SwiftProtobuf.xcodeproj */;
+					ProductGroup = D315DEE01EE8B29A007670CE /* Products */;
+					ProjectRef = D315DEDF1EE8B29A007670CE /* SwiftProtobuf.xcodeproj */;
 				},
 			);
 			projectRoot = "";
@@ -297,81 +320,95 @@
 /* End PBXProject section */
 
 /* Begin PBXReferenceProxy section */
-		D371D5CC1EA92FC600C39169 /* CgRPC.framework */ = {
+		D315DED41EE8B284007670CE /* zlib-example */ = {
+			isa = PBXReferenceProxy;
+			fileType = "compiled.mach-o.executable";
+			path = "zlib-example";
+			remoteRef = D315DED31EE8B284007670CE /* PBXContainerItemProxy */;
+			sourceTree = BUILT_PRODUCTS_DIR;
+		};
+		D315DED61EE8B284007670CE /* Czlib.framework */ = {
+			isa = PBXReferenceProxy;
+			fileType = wrapper.framework;
+			path = Czlib.framework;
+			remoteRef = D315DED51EE8B284007670CE /* PBXContainerItemProxy */;
+			sourceTree = BUILT_PRODUCTS_DIR;
+		};
+		D315DED81EE8B284007670CE /* CgRPC.framework */ = {
 			isa = PBXReferenceProxy;
 			fileType = wrapper.framework;
 			path = CgRPC.framework;
-			remoteRef = D371D5CB1EA92FC600C39169 /* PBXContainerItemProxy */;
+			remoteRef = D315DED71EE8B284007670CE /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		D371D5CE1EA92FC600C39169 /* BoringSSL.framework */ = {
+		D315DEDA1EE8B284007670CE /* BoringSSL.framework */ = {
 			isa = PBXReferenceProxy;
 			fileType = wrapper.framework;
 			path = BoringSSL.framework;
-			remoteRef = D371D5CD1EA92FC600C39169 /* PBXContainerItemProxy */;
+			remoteRef = D315DED91EE8B284007670CE /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		D371D5D01EA92FC600C39169 /* gRPC.framework */ = {
+		D315DEDC1EE8B284007670CE /* gRPC.framework */ = {
 			isa = PBXReferenceProxy;
 			fileType = wrapper.framework;
 			path = gRPC.framework;
-			remoteRef = D371D5CF1EA92FC600C39169 /* PBXContainerItemProxy */;
+			remoteRef = D315DEDB1EE8B284007670CE /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		D371D5D21EA92FC600C39169 /* gRPCTests.xctest */ = {
+		D315DEDE1EE8B284007670CE /* gRPCTests.xctest */ = {
 			isa = PBXReferenceProxy;
 			fileType = file;
 			path = gRPCTests.xctest;
-			remoteRef = D371D5D11EA92FC600C39169 /* PBXContainerItemProxy */;
+			remoteRef = D315DEDD1EE8B284007670CE /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		D371D5E41EA9306600C39169 /* SwiftProtobuf.framework */ = {
+		D315DEEA1EE8B29B007670CE /* SwiftProtobuf.framework */ = {
 			isa = PBXReferenceProxy;
 			fileType = wrapper.framework;
 			path = SwiftProtobuf.framework;
-			remoteRef = D371D5E31EA9306600C39169 /* PBXContainerItemProxy */;
+			remoteRef = D315DEE91EE8B29B007670CE /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		D371D5E61EA9306600C39169 /* SwiftProtobufTests.xctest */ = {
+		D315DEEC1EE8B29B007670CE /* SwiftProtobufTests.xctest */ = {
 			isa = PBXReferenceProxy;
 			fileType = wrapper.cfbundle;
 			path = SwiftProtobufTests.xctest;
-			remoteRef = D371D5E51EA9306600C39169 /* PBXContainerItemProxy */;
+			remoteRef = D315DEEB1EE8B29B007670CE /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		D371D5E81EA9306600C39169 /* SwiftProtobuf.framework */ = {
+		D315DEEE1EE8B29B007670CE /* SwiftProtobuf.framework */ = {
 			isa = PBXReferenceProxy;
 			fileType = wrapper.framework;
 			path = SwiftProtobuf.framework;
-			remoteRef = D371D5E71EA9306600C39169 /* PBXContainerItemProxy */;
+			remoteRef = D315DEED1EE8B29B007670CE /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		D371D5EA1EA9306600C39169 /* SwiftProtobufTests.xctest */ = {
+		D315DEF01EE8B29B007670CE /* SwiftProtobufTests.xctest */ = {
 			isa = PBXReferenceProxy;
 			fileType = wrapper.cfbundle;
 			path = SwiftProtobufTests.xctest;
-			remoteRef = D371D5E91EA9306600C39169 /* PBXContainerItemProxy */;
+			remoteRef = D315DEEF1EE8B29B007670CE /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		D371D5EC1EA9306600C39169 /* SwiftProtobuf.framework */ = {
+		D315DEF21EE8B29B007670CE /* SwiftProtobuf.framework */ = {
 			isa = PBXReferenceProxy;
 			fileType = wrapper.framework;
 			path = SwiftProtobuf.framework;
-			remoteRef = D371D5EB1EA9306600C39169 /* PBXContainerItemProxy */;
+			remoteRef = D315DEF11EE8B29B007670CE /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		D371D5EE1EA9306600C39169 /* SwiftProtobufTests.xctest */ = {
+		D315DEF41EE8B29B007670CE /* SwiftProtobufTests.xctest */ = {
 			isa = PBXReferenceProxy;
 			fileType = wrapper.cfbundle;
 			path = SwiftProtobufTests.xctest;
-			remoteRef = D371D5ED1EA9306600C39169 /* PBXContainerItemProxy */;
+			remoteRef = D315DEF31EE8B29B007670CE /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		D371D5F01EA9306600C39169 /* SwiftProtobuf.framework */ = {
+		D315DEF61EE8B29B007670CE /* SwiftProtobuf.framework */ = {
 			isa = PBXReferenceProxy;
 			fileType = wrapper.framework;
 			path = SwiftProtobuf.framework;
-			remoteRef = D371D5EF1EA9306600C39169 /* PBXContainerItemProxy */;
+			remoteRef = D315DEF51EE8B29B007670CE /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
 /* End PBXReferenceProxy section */
@@ -407,37 +444,30 @@
 /* End PBXSourcesBuildPhase section */
 
 /* Begin PBXTargetDependency section */
-		D371D5D41EA92FDE00C39169 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			name = CgRPC;
-			targetProxy = D371D5D31EA92FDE00C39169 /* PBXContainerItemProxy */;
-		};
-		D371D5D61EA92FDE00C39169 /* PBXTargetDependency */ = {
+		D315DEF81EE8B2C1007670CE /* PBXTargetDependency */ = {
 			isa = PBXTargetDependency;
-			name = BoringSSL;
-			targetProxy = D371D5D51EA92FDE00C39169 /* PBXContainerItemProxy */;
+			name = SwiftProtobuf_macOS;
+			targetProxy = D315DEF71EE8B2C1007670CE /* PBXContainerItemProxy */;
 		};
-		D371D5D81EA92FDE00C39169 /* PBXTargetDependency */ = {
+		D315DEFA1EE8B2C7007670CE /* PBXTargetDependency */ = {
 			isa = PBXTargetDependency;
-			name = gRPC;
-			targetProxy = D371D5D71EA92FDE00C39169 /* PBXContainerItemProxy */;
+			name = Czlib;
+			targetProxy = D315DEF91EE8B2C7007670CE /* PBXContainerItemProxy */;
 		};
-		D371D5F21EA9307300C39169 /* PBXTargetDependency */ = {
+		D315DEFC1EE8B2C7007670CE /* PBXTargetDependency */ = {
 			isa = PBXTargetDependency;
-			name = SwiftProtobuf_macOS;
-			targetProxy = D371D5F11EA9307300C39169 /* PBXContainerItemProxy */;
+			name = CgRPC;
+			targetProxy = D315DEFB1EE8B2C7007670CE /* PBXContainerItemProxy */;
 		};
-		D38E00371E315DB700CE7B16 /* PBXTargetDependency */ = {
+		D315DEFE1EE8B2C7007670CE /* PBXTargetDependency */ = {
 			isa = PBXTargetDependency;
 			name = BoringSSL;
+			targetProxy = D315DEFD1EE8B2C7007670CE /* PBXContainerItemProxy */;
 		};
-		D38E00391E315DB700CE7B16 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			name = CgRPC;
-		};
-		D38E003B1E315DB700CE7B16 /* PBXTargetDependency */ = {
+		D315DF001EE8B2C7007670CE /* PBXTargetDependency */ = {
 			isa = PBXTargetDependency;
 			name = gRPC;
+			targetProxy = D315DEFF1EE8B2C7007670CE /* PBXContainerItemProxy */;
 		};
 /* End PBXTargetDependency section */
 

+ 1 - 3
Examples/Simple/PackageManager/Makefile

@@ -1,8 +1,6 @@
 
-LDFLAGS = -Xlinker -lz 
-
 all:
-	swift build -v $(LDFLAGS)
+	swift build
 
 clean :
 	rm -rf Packages

+ 103 - 45
Examples/Simple/Xcode/Simple.xcodeproj/project.pbxproj

@@ -15,54 +15,75 @@
 /* End PBXBuildFile section */
 
 /* Begin PBXContainerItemProxy section */
-		D31F110B1EA933160067D424 /* PBXContainerItemProxy */ = {
+		D3E1EA701EE8AFEB0024A93A /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
-			containerPortal = D31F11041EA933160067D424 /* SwiftGRPC.xcodeproj */;
+			containerPortal = D3E1EA671EE8AFEB0024A93A /* SwiftGRPC.xcodeproj */;
 			proxyType = 2;
-			remoteGlobalIDString = OBJ_778;
+			remoteGlobalIDString = OBJ_803;
+			remoteInfo = "zlib-example";
+		};
+		D3E1EA721EE8AFEB0024A93A /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = D3E1EA671EE8AFEB0024A93A /* SwiftGRPC.xcodeproj */;
+			proxyType = 2;
+			remoteGlobalIDString = OBJ_804;
+			remoteInfo = Czlib;
+		};
+		D3E1EA741EE8AFEB0024A93A /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = D3E1EA671EE8AFEB0024A93A /* SwiftGRPC.xcodeproj */;
+			proxyType = 2;
+			remoteGlobalIDString = OBJ_805;
 			remoteInfo = CgRPC;
 		};
-		D31F110D1EA933160067D424 /* PBXContainerItemProxy */ = {
+		D3E1EA761EE8AFEB0024A93A /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
-			containerPortal = D31F11041EA933160067D424 /* SwiftGRPC.xcodeproj */;
+			containerPortal = D3E1EA671EE8AFEB0024A93A /* SwiftGRPC.xcodeproj */;
 			proxyType = 2;
-			remoteGlobalIDString = OBJ_779;
+			remoteGlobalIDString = OBJ_806;
 			remoteInfo = BoringSSL;
 		};
-		D31F110F1EA933160067D424 /* PBXContainerItemProxy */ = {
+		D3E1EA781EE8AFEB0024A93A /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
-			containerPortal = D31F11041EA933160067D424 /* SwiftGRPC.xcodeproj */;
+			containerPortal = D3E1EA671EE8AFEB0024A93A /* SwiftGRPC.xcodeproj */;
 			proxyType = 2;
-			remoteGlobalIDString = OBJ_780;
+			remoteGlobalIDString = OBJ_807;
 			remoteInfo = gRPC;
 		};
-		D31F11111EA933160067D424 /* PBXContainerItemProxy */ = {
+		D3E1EA7A1EE8AFEB0024A93A /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
-			containerPortal = D31F11041EA933160067D424 /* SwiftGRPC.xcodeproj */;
+			containerPortal = D3E1EA671EE8AFEB0024A93A /* SwiftGRPC.xcodeproj */;
 			proxyType = 2;
-			remoteGlobalIDString = OBJ_781;
+			remoteGlobalIDString = OBJ_808;
 			remoteInfo = gRPCTests;
 		};
-		D31F11191EA9333F0067D424 /* PBXContainerItemProxy */ = {
+		D3E1EA7C1EE8B0070024A93A /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = D3E1EA671EE8AFEB0024A93A /* SwiftGRPC.xcodeproj */;
+			proxyType = 1;
+			remoteGlobalIDString = OBJ_1428;
+			remoteInfo = gRPC;
+		};
+		D3E1EA7E1EE8B00C0024A93A /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
-			containerPortal = D31F11041EA933160067D424 /* SwiftGRPC.xcodeproj */;
+			containerPortal = D3E1EA671EE8AFEB0024A93A /* SwiftGRPC.xcodeproj */;
 			proxyType = 1;
-			remoteGlobalIDString = OBJ_782;
+			remoteGlobalIDString = OBJ_840;
 			remoteInfo = CgRPC;
 		};
-		D31F111B1EA9333F0067D424 /* PBXContainerItemProxy */ = {
+		D3E1EA801EE8B0120024A93A /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
-			containerPortal = D31F11041EA933160067D424 /* SwiftGRPC.xcodeproj */;
+			containerPortal = D3E1EA671EE8AFEB0024A93A /* SwiftGRPC.xcodeproj */;
 			proxyType = 1;
-			remoteGlobalIDString = OBJ_1062;
-			remoteInfo = BoringSSL;
+			remoteGlobalIDString = OBJ_818;
+			remoteInfo = Czlib;
 		};
-		D31F111D1EA9333F0067D424 /* PBXContainerItemProxy */ = {
+		D3E1EA821EE8B0120024A93A /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
-			containerPortal = D31F11041EA933160067D424 /* SwiftGRPC.xcodeproj */;
+			containerPortal = D3E1EA671EE8AFEB0024A93A /* SwiftGRPC.xcodeproj */;
 			proxyType = 1;
-			remoteGlobalIDString = OBJ_1366;
-			remoteInfo = gRPC;
+			remoteGlobalIDString = OBJ_1122;
+			remoteInfo = BoringSSL;
 		};
 /* End PBXContainerItemProxy section */
 
@@ -74,7 +95,7 @@
 		D30D73611D565E4400F90CCB /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
 		D30D73641D565E4400F90CCB /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
 		D30D73661D565E4400F90CCB /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
-		D31F11041EA933160067D424 /* SwiftGRPC.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = SwiftGRPC.xcodeproj; path = ../../../SwiftGRPC.xcodeproj; sourceTree = "<group>"; };
+		D3E1EA671EE8AFEB0024A93A /* SwiftGRPC.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = SwiftGRPC.xcodeproj; path = ../../../SwiftGRPC.xcodeproj; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
@@ -91,7 +112,7 @@
 		D30D734E1D565E4400F90CCB = {
 			isa = PBXGroup;
 			children = (
-				D31F11041EA933160067D424 /* SwiftGRPC.xcodeproj */,
+				D3E1EA671EE8AFEB0024A93A /* SwiftGRPC.xcodeproj */,
 				D30D73591D565E4400F90CCB /* Simple */,
 				D30D73581D565E4400F90CCB /* Products */,
 			);
@@ -118,13 +139,15 @@
 			path = Simple;
 			sourceTree = "<group>";
 		};
-		D31F11051EA933160067D424 /* Products */ = {
+		D3E1EA681EE8AFEB0024A93A /* Products */ = {
 			isa = PBXGroup;
 			children = (
-				D31F110C1EA933160067D424 /* CgRPC.framework */,
-				D31F110E1EA933160067D424 /* BoringSSL.framework */,
-				D31F11101EA933160067D424 /* gRPC.framework */,
-				D31F11121EA933160067D424 /* gRPCTests.xctest */,
+				D3E1EA711EE8AFEB0024A93A /* zlib-example */,
+				D3E1EA731EE8AFEB0024A93A /* Czlib.framework */,
+				D3E1EA751EE8AFEB0024A93A /* CgRPC.framework */,
+				D3E1EA771EE8AFEB0024A93A /* BoringSSL.framework */,
+				D3E1EA791EE8AFEB0024A93A /* gRPC.framework */,
+				D3E1EA7B1EE8AFEB0024A93A /* gRPCTests.xctest */,
 			);
 			name = Products;
 			sourceTree = "<group>";
@@ -143,6 +166,10 @@
 			buildRules = (
 			);
 			dependencies = (
+				D3E1EA811EE8B0120024A93A /* PBXTargetDependency */,
+				D3E1EA831EE8B0120024A93A /* PBXTargetDependency */,
+				D3E1EA7F1EE8B00C0024A93A /* PBXTargetDependency */,
+				D3E1EA7D1EE8B0070024A93A /* PBXTargetDependency */,
 				D31F111A1EA9333F0067D424 /* PBXTargetDependency */,
 				D31F111C1EA9333F0067D424 /* PBXTargetDependency */,
 				D31F111E1EA9333F0067D424 /* PBXTargetDependency */,
@@ -183,8 +210,8 @@
 			projectDirPath = "";
 			projectReferences = (
 				{
-					ProductGroup = D31F11051EA933160067D424 /* Products */;
-					ProjectRef = D31F11041EA933160067D424 /* SwiftGRPC.xcodeproj */;
+					ProductGroup = D3E1EA681EE8AFEB0024A93A /* Products */;
+					ProjectRef = D3E1EA671EE8AFEB0024A93A /* SwiftGRPC.xcodeproj */;
 				},
 			);
 			projectRoot = "";
@@ -195,32 +222,46 @@
 /* End PBXProject section */
 
 /* Begin PBXReferenceProxy section */
-		D31F110C1EA933160067D424 /* CgRPC.framework */ = {
+		D3E1EA711EE8AFEB0024A93A /* zlib-example */ = {
+			isa = PBXReferenceProxy;
+			fileType = "compiled.mach-o.executable";
+			path = "zlib-example";
+			remoteRef = D3E1EA701EE8AFEB0024A93A /* PBXContainerItemProxy */;
+			sourceTree = BUILT_PRODUCTS_DIR;
+		};
+		D3E1EA731EE8AFEB0024A93A /* Czlib.framework */ = {
+			isa = PBXReferenceProxy;
+			fileType = wrapper.framework;
+			path = Czlib.framework;
+			remoteRef = D3E1EA721EE8AFEB0024A93A /* PBXContainerItemProxy */;
+			sourceTree = BUILT_PRODUCTS_DIR;
+		};
+		D3E1EA751EE8AFEB0024A93A /* CgRPC.framework */ = {
 			isa = PBXReferenceProxy;
 			fileType = wrapper.framework;
 			path = CgRPC.framework;
-			remoteRef = D31F110B1EA933160067D424 /* PBXContainerItemProxy */;
+			remoteRef = D3E1EA741EE8AFEB0024A93A /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		D31F110E1EA933160067D424 /* BoringSSL.framework */ = {
+		D3E1EA771EE8AFEB0024A93A /* BoringSSL.framework */ = {
 			isa = PBXReferenceProxy;
 			fileType = wrapper.framework;
 			path = BoringSSL.framework;
-			remoteRef = D31F110D1EA933160067D424 /* PBXContainerItemProxy */;
+			remoteRef = D3E1EA761EE8AFEB0024A93A /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		D31F11101EA933160067D424 /* gRPC.framework */ = {
+		D3E1EA791EE8AFEB0024A93A /* gRPC.framework */ = {
 			isa = PBXReferenceProxy;
 			fileType = wrapper.framework;
 			path = gRPC.framework;
-			remoteRef = D31F110F1EA933160067D424 /* PBXContainerItemProxy */;
+			remoteRef = D3E1EA781EE8AFEB0024A93A /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		D31F11121EA933160067D424 /* gRPCTests.xctest */ = {
+		D3E1EA7B1EE8AFEB0024A93A /* gRPCTests.xctest */ = {
 			isa = PBXReferenceProxy;
 			fileType = file;
 			path = gRPCTests.xctest;
-			remoteRef = D31F11111EA933160067D424 /* PBXContainerItemProxy */;
+			remoteRef = D3E1EA7A1EE8AFEB0024A93A /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
 /* End PBXReferenceProxy section */
@@ -254,17 +295,34 @@
 		D31F111A1EA9333F0067D424 /* PBXTargetDependency */ = {
 			isa = PBXTargetDependency;
 			name = CgRPC;
-			targetProxy = D31F11191EA9333F0067D424 /* PBXContainerItemProxy */;
 		};
 		D31F111C1EA9333F0067D424 /* PBXTargetDependency */ = {
 			isa = PBXTargetDependency;
 			name = BoringSSL;
-			targetProxy = D31F111B1EA9333F0067D424 /* PBXContainerItemProxy */;
 		};
 		D31F111E1EA9333F0067D424 /* PBXTargetDependency */ = {
 			isa = PBXTargetDependency;
 			name = gRPC;
-			targetProxy = D31F111D1EA9333F0067D424 /* PBXContainerItemProxy */;
+		};
+		D3E1EA7D1EE8B0070024A93A /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			name = gRPC;
+			targetProxy = D3E1EA7C1EE8B0070024A93A /* PBXContainerItemProxy */;
+		};
+		D3E1EA7F1EE8B00C0024A93A /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			name = CgRPC;
+			targetProxy = D3E1EA7E1EE8B00C0024A93A /* PBXContainerItemProxy */;
+		};
+		D3E1EA811EE8B0120024A93A /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			name = Czlib;
+			targetProxy = D3E1EA801EE8B0120024A93A /* PBXContainerItemProxy */;
+		};
+		D3E1EA831EE8B0120024A93A /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			name = BoringSSL;
+			targetProxy = D3E1EA821EE8B0120024A93A /* PBXContainerItemProxy */;
 		};
 /* End PBXTargetDependency section */
 
@@ -326,7 +384,7 @@
 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
-                                HEADER_SEARCH_PATHS = ../../../Sources/CgRPC/include;
+				HEADER_SEARCH_PATHS = ../../../Sources/CgRPC/include;
 				MACOSX_DEPLOYMENT_TARGET = 10.11;
 				MTL_ENABLE_DEBUG_INFO = YES;
 				ONLY_ACTIVE_ARCH = YES;
@@ -368,7 +426,7 @@
 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
-                                HEADER_SEARCH_PATHS = ../../../Sources/CgRPC/include;
+				HEADER_SEARCH_PATHS = ../../../Sources/CgRPC/include;
 				MACOSX_DEPLOYMENT_TARGET = 10.11;
 				MTL_ENABLE_DEBUG_INFO = NO;
 				SDKROOT = macosx;

+ 1 - 1
Plugin/Makefile

@@ -9,7 +9,7 @@ build:  clear
 	cp .build/debug/protoc-gen-swift .
 
 test:	build
-	protoc ../Examples/Echo/echo.proto --proto_path=../Examples/Echo --plugin=./protoc-gen-swiftgrpc --swiftgrpc_out=. 
+	protoc ../Examples/Echo/echo.proto --proto_path=../Examples/Echo --plugin=./protoc-gen-swiftgrpc --swiftgrpc_out=. --swift_out=.
 	diff echo.client.pb.swift ../Examples/Echo/Generated/echo.client.pb.swift
 	diff echo.server.pb.swift ../Examples/Echo/Generated/echo.server.pb.swift
 

+ 2 - 2
third_party/RUNME.sh

@@ -17,11 +17,11 @@
 printf "\033c"
 read -p "Would you like to download swift-protobuf / grpc [y/N]" CONDITION;
 if [ "$CONDITION" == "y" ] ; then
-    read -p "Use last known stable swift-protobuf - 0.9.901 ? or  latest master ? [S/l]  " CONDITION;
+    read -p "Use last known stable swift-protobuf - 0.9.903 ? or  latest master ? [S/l]  " CONDITION;
     if [ "$CONDITION" == "l" ] ; then
         git clone https://github.com/apple/swift-protobuf.git
     else
-        git clone -b 0.9.901 https://github.com/apple/swift-protobuf.git
+        git clone -b 0.9.903 https://github.com/apple/swift-protobuf.git
     fi
     git clone https://github.com/grpc/grpc.git
     cd grpc