@@ -452,13 +452,26 @@ func provideScalaImports(files []*protoc.File, resolver protoc.ImportResolver, f
452452 resolver .Provide (lang , "service" , name + "Client" , from )
453453 resolver .Provide (lang , "service" , name + "Handler" , from )
454454 resolver .Provide (lang , "service" , name + "Server" , from )
455- // TOOD: if this is configured on the proto_plugin, we won't know
456- // about the plugin option. Advertise them anyway.
457- // if options["server_power_apis"] {
458- resolver .Provide (lang , "service" , name + "PowerApi" , from )
459- resolver .Provide (lang , "service" , name + "PowerApiHandler" , from )
460- resolver .Provide (lang , "service" , name + "ClientPowerApi" , from )
455+
456+ if strings .Contains (from .Name , "zio" ) {
457+ zioName := "Zio" + s .Name
458+ if pkgName != "" {
459+ zioName = pkgName + "." + zioName
460+ }
461+ // if the scala rule name includes the term 'zio', assume this is a
462+ // zio library and advertize the zio symbols as well.
463+ resolver .Provide (lang , "service" , zioName , from )
464+
465+ } else {
466+ // options["server_power_apis"] may or may not be enabled and
467+ // it's difficult to know if the option is present. Advertize
468+ // them optimitically anyway.
469+ resolver .Provide (lang , "service" , name + "PowerApi" , from )
470+ resolver .Provide (lang , "service" , name + "PowerApiHandler" , from )
471+ resolver .Provide (lang , "service" , name + "ClientPowerApi" , from )
472+ }
461473 // }
474+
462475 }
463476 }
464477}
0 commit comments