- Added CSharpServiceType NONE to skip service generation.
- Defaulted service_generator_type to NONE
- Added /protos/extest/unittest_generic_services.proto to test services
- Migrated unit tests to use the new generic services for testing
diff --git a/src/ProtoGen/ServiceInterfaceGenerator.cs b/src/ProtoGen/ServiceInterfaceGenerator.cs
index 4aa8ffa..019df4c 100644
--- a/src/ProtoGen/ServiceInterfaceGenerator.cs
+++ b/src/ProtoGen/ServiceInterfaceGenerator.cs
@@ -47,6 +47,9 @@
: base(descriptor) {
svcType = descriptor.File.CSharpOptions.ServiceGeneratorType;
switch (svcType) {
+ case CSharpServiceType.NONE:
+ _generator = new NoServicesGenerator(descriptor);
+ break;
case CSharpServiceType.GENERIC:
_generator = new GenericServiceGenerator(descriptor);
break;
@@ -63,6 +66,19 @@
public void Generate(TextGenerator writer) {
_generator.Generate(writer);
}
+
+ class NoServicesGenerator : SourceGeneratorBase<ServiceDescriptor>, ISourceGenerator {
+
+ public NoServicesGenerator(ServiceDescriptor descriptor)
+ : base(descriptor) {
+ }
+ public virtual void Generate(TextGenerator writer) {
+ writer.WriteLine("/*");
+ writer.WriteLine("* Service generation is now disabled by default, use the following option to enable:");
+ writer.WriteLine("* option (google.protobuf.csharp_file_options).service_generator_type = GENERIC;");
+ writer.WriteLine("*/");
+ }
+ }
class ServiceInterfaceGenerator : SourceGeneratorBase<ServiceDescriptor>, ISourceGenerator {