浏览代码

Update Simple PackageManager example to use Commander.

Tim Burks 8 年之前
父节点
当前提交
d925f9d76c
共有 2 个文件被更改,包括 18 次插入26 次删除
  1. 1 0
      Examples/Simple/PackageManager/Package.swift
  2. 17 26
      Examples/Simple/PackageManager/main.swift

+ 1 - 0
Examples/Simple/PackageManager/Package.swift

@@ -18,5 +18,6 @@ let package = Package (
     name: "Simple",
     dependencies: [
         .Package(url: "https://github.com/grpc/grpc-swift.git", Version(0,3,2)),
+        .Package(url: "https://github.com/kylef/Commander.git", Version(0,8,0)),
     ]
 )

+ 17 - 26
Examples/Simple/PackageManager/main.swift

@@ -1,5 +1,5 @@
 /*
- * Copyright 2016, gRPC Authors All rights reserved.
+ * Copyright 2017, gRPC Authors All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -16,33 +16,11 @@
 import Foundation
 import Dispatch
 import gRPC
+import Commander
 
 let address = "localhost:8001"
 let host = "foo.test.google.fr"
 
-func usage() {
-  print("Usage: Simple <client|server>\n")
-  exit(0)
-}
-
-func main() throws {
-  gRPC.initialize()
-  print("gRPC version", gRPC.version())
-
-  print("\(CommandLine.arguments)")
-  if CommandLine.arguments.count != 2 {
-    usage()
-  }
-
-  let command = CommandLine.arguments[1]
-  switch command {
-  case "client": try client()
-  case "server": try server()
-  default:
-    usage()
-  }
-}
-
 func client() throws {
   let message = "hello, server!".data(using: .utf8)
   let c = gRPC.Channel(address:address, secure:false)
@@ -58,7 +36,6 @@ func client() throws {
                              ["y": "yu"],
                              ["z": "zither"]])
 
-
     try! call.start(.unary, metadata:metadata, message:message) {
       (response) in
       print("status:", response.statusCode)
@@ -140,6 +117,20 @@ func server() throws {
   _ = sem.wait(timeout: DispatchTime.distantFuture)
 }
 
-try main()
+Group {
+
+  $0.command("server") {
+    gRPC.initialize()
+    print("gRPC version", gRPC.version())
+    try server()
+  }
+
+  $0.command("client") {
+    gRPC.initialize()
+    print("gRPC version", gRPC.version())
+    try client()
+  }
+
+  }.run()