Browse Source

Always generate async code (#1384)

* Always generate async code

Motivation:

Async code generation currently requires opting in. We should make it
the default alongside the NIO-based code so that it's easier to find.

Modifications:

- Remove the async options from the generator.
- Update the generator to always emit async code behind compiler guards.
- Update plugin docs.
- Regenerate code.

Result:

Async code is easier to find.

* Regenerate
George Barnett 3 years ago
parent
commit
baab8a956d

+ 1 - 7
Sources/protoc-gen-grpc-swift/Generator-Client.swift

@@ -26,9 +26,6 @@ extension Generator {
       self.printClientProtocolExtension()
       self.println()
       self.printServiceClientImplementation()
-    }
-
-    if self.options.generateAsyncClient {
       self.println()
       self.printIfCompilerGuardForAsyncAwait()
       self.printAsyncServiceClientProtocol()
@@ -40,11 +37,8 @@ extension Generator {
       self.printAsyncServiceClientImplementation()
       self.println()
       self.printEndCompilerGuardForAsyncAwait()
-    }
-
-    // Both implementations share definitions for interceptors and metadata.
-    if self.options.generateClient || self.options.generateAsyncClient {
       self.println()
+      // Both implementations share definitions for interceptors and metadata.
       self.printServiceClientInterceptorFactoryProtocol()
       self.println()
       self.printClientMetadata()

+ 2 - 7
Sources/protoc-gen-grpc-swift/Generator-Server.swift

@@ -23,9 +23,7 @@ extension Generator {
       self.printServerProtocol()
       self.println()
       self.printServerProtocolExtension()
-    }
-
-    if self.options.generateAsyncServer {
+      self.println()
       self.printIfCompilerGuardForAsyncAwait()
       self.println()
       self.printServerProtocolAsyncAwait()
@@ -33,11 +31,8 @@ extension Generator {
       self.printServerProtocolExtensionAsyncAwait()
       self.println()
       self.printEndCompilerGuardForAsyncAwait()
-    }
-
-    // Both implementations share definitions for interceptors and metadata.
-    if self.options.generateServer || self.options.generateAsyncServer {
       self.println()
+      // Both implementations share definitions for interceptors and metadata.
       self.printServerInterceptorFactoryProtocol()
       self.println()
       self.printServerMetadata()

+ 1 - 1
Sources/protoc-gen-grpc-swift/Generator.swift

@@ -157,7 +157,7 @@ class Generator {
     }
     self.println()
 
-    if self.options.generateServer || self.options.generateAsyncServer {
+    if self.options.generateServer {
       for service in self.file.services {
         self.service = service
         printServer()

+ 0 - 16
Sources/protoc-gen-grpc-swift/options.swift

@@ -54,10 +54,8 @@ final class GeneratorOptions {
   private(set) var visibility = Visibility.internal
 
   private(set) var generateServer = true
-  private(set) var generateAsyncServer = false
 
   private(set) var generateClient = true
-  private(set) var generateAsyncClient = false
   private(set) var generateTestClient = false
 
   private(set) var keepMethodCasing = false
@@ -84,13 +82,6 @@ final class GeneratorOptions {
           throw GenerationError.invalidParameterValue(name: pair.key, value: pair.value)
         }
 
-      case "ExperimentalAsyncServer":
-        if let value = Bool(pair.value) {
-          self.generateAsyncServer = value
-        } else {
-          throw GenerationError.invalidParameterValue(name: pair.key, value: pair.value)
-        }
-
       case "Client":
         if let value = Bool(pair.value) {
           self.generateClient = value
@@ -98,13 +89,6 @@ final class GeneratorOptions {
           throw GenerationError.invalidParameterValue(name: pair.key, value: pair.value)
         }
 
-      case "ExperimentalAsyncClient":
-        if let value = Bool(pair.value) {
-          self.generateAsyncClient = value
-        } else {
-          throw GenerationError.invalidParameterValue(name: pair.key, value: pair.value)
-        }
-
       case "TestClient":
         if let value = Bool(pair.value) {
           self.generateTestClient = value