Skip to content

Commit

Permalink
use distinct impLang for scala proto exports (stackb#304)
Browse files Browse the repository at this point in the history
* use distinct impLang for scala proto exports
* fix test
  • Loading branch information
pcj authored Dec 8, 2022
1 parent 3a0c037 commit aa380e4
Show file tree
Hide file tree
Showing 3 changed files with 66 additions and 25 deletions.
26 changes: 13 additions & 13 deletions pkg/rule/rules_scala/scala_library.go
Original file line number Diff line number Diff line change
Expand Up @@ -383,14 +383,14 @@ func provideScalaImports(files []*protoc.File, resolver protoc.ImportResolver, f
pkgName = javaPackageName
}
if pkgName != "" {
resolver.Provide(lang, lang, pkgName, from)
resolver.Provide(lang, "package", pkgName, from)
}
for _, e := range file.Enums() {
name := e.Name
if pkgName != "" {
name = pkgName + "." + name
}
resolver.Provide(lang, lang, name, from)
resolver.Provide(lang, "enum", name, from)
for _, value := range e.Elements {
if field, ok := value.(*proto.EnumField); ok {
fieldName := name + "." + field.Name
Expand All @@ -403,26 +403,26 @@ func provideScalaImports(files []*protoc.File, resolver protoc.ImportResolver, f
if pkgName != "" {
name = pkgName + "." + name
}
resolver.Provide(lang, lang, name, from)
resolver.Provide(lang, lang, name+"Proto", from)
resolver.Provide(lang, "message", name, from)
resolver.Provide(lang, "message", name+"Proto", from)
}
for _, s := range file.Services() {
name := s.Name
if pkgName != "" {
name = pkgName + "." + name
}
resolver.Provide(lang, lang, name, from)
resolver.Provide(lang, lang, name+"Grpc", from)
resolver.Provide(lang, lang, name+"Proto", from)
resolver.Provide(lang, lang, name+"Client", from)
resolver.Provide(lang, lang, name+"Handler", from)
resolver.Provide(lang, lang, name+"Server", from)
resolver.Provide(lang, "service", name, from)
resolver.Provide(lang, "service", name+"Grpc", from)
resolver.Provide(lang, "service", name+"Proto", from)
resolver.Provide(lang, "service", name+"Client", from)
resolver.Provide(lang, "service", name+"Handler", from)
resolver.Provide(lang, "service", name+"Server", from)
// TOOD: if this is configured on the proto_plugin, we won't know
// about the plugin option. Advertise them anyway.
// if options["server_power_apis"] {
resolver.Provide(lang, lang, name+"PowerApi", from)
resolver.Provide(lang, lang, name+"PowerApiHandler", from)
resolver.Provide(lang, lang, name+"ClientPowerApi", from)
resolver.Provide(lang, "service", name+"PowerApi", from)
resolver.Provide(lang, "service", name+"PowerApiHandler", from)
resolver.Provide(lang, "service", name+"ClientPowerApi", from)
// }
}
}
Expand Down
24 changes: 12 additions & 12 deletions pkg/rule/rules_scala/scala_library_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -128,8 +128,8 @@ func TestProvideScalaImports(t *testing.T) {
message Thing {}`,
},
want: []resolve.ImportSpec{
{Lang: "scala", Imp: "Thing"},
{Lang: "scala", Imp: "ThingProto"},
{Lang: "message", Imp: "Thing"},
{Lang: "message", Imp: "ThingProto"},
},
},
"service": {
Expand All @@ -138,15 +138,15 @@ message Thing {}`,
service Thinger {}`,
},
want: []resolve.ImportSpec{
{Lang: "scala", Imp: "Thinger"},
{Lang: "scala", Imp: "ThingerGrpc"},
{Lang: "scala", Imp: "ThingerProto"},
{Lang: "scala", Imp: "ThingerClient"},
{Lang: "scala", Imp: "ThingerHandler"},
{Lang: "scala", Imp: "ThingerServer"},
{Lang: "scala", Imp: "ThingerPowerApi"},
{Lang: "scala", Imp: "ThingerPowerApiHandler"},
{Lang: "scala", Imp: "ThingerClientPowerApi"},
{Lang: "service", Imp: "Thinger"},
{Lang: "service", Imp: "ThingerGrpc"},
{Lang: "service", Imp: "ThingerProto"},
{Lang: "service", Imp: "ThingerClient"},
{Lang: "service", Imp: "ThingerHandler"},
{Lang: "service", Imp: "ThingerServer"},
{Lang: "service", Imp: "ThingerPowerApi"},
{Lang: "service", Imp: "ThingerPowerApiHandler"},
{Lang: "service", Imp: "ThingerClientPowerApi"},
},
},
"enum": {
Expand All @@ -155,7 +155,7 @@ service Thinger {}`,
enum Things {}`,
},
want: []resolve.ImportSpec{
{Lang: "scala", Imp: "Things"},
{Lang: "enum", Imp: "Things"},
},
},
} {
Expand Down
41 changes: 41 additions & 0 deletions rules/private/proto_repository_tools_srcs.bzl
Original file line number Diff line number Diff line change
@@ -1,6 +1,17 @@
""" Code generated by list_repository_tools_srcs.go; DO NOT EDIT."""
PROTO_REPOSITORY_TOOLS_SRCS = [
"@build_stack_rules_proto//:BUILD.bazel",
"@build_stack_rules_proto//cmd/depsgen:BUILD.bazel",
"@build_stack_rules_proto//cmd/depsgen:config.go",
"@build_stack_rules_proto//cmd/depsgen:depsgen.go",
"@build_stack_rules_proto//cmd/depsgen:generator.go",
"@build_stack_rules_proto//cmd/depsgen:template.go",
"@build_stack_rules_proto//cmd/examplegen:BUILD.bazel",
"@build_stack_rules_proto//cmd/examplegen:config.go",
"@build_stack_rules_proto//cmd/examplegen:examplegen.go",
"@build_stack_rules_proto//cmd/examplegen:generator.go",
"@build_stack_rules_proto//cmd/examplegen:linewriter.go",
"@build_stack_rules_proto//cmd/examplegen:template.go",
"@build_stack_rules_proto//cmd/gazelle:BUILD.bazel",
"@build_stack_rules_proto//cmd/gazelle:diff.go",
"@build_stack_rules_proto//cmd/gazelle:fix-update.go",
Expand All @@ -11,9 +22,34 @@ PROTO_REPOSITORY_TOOLS_SRCS = [
"@build_stack_rules_proto//cmd/gazelle:print.go",
"@build_stack_rules_proto//cmd/gazelle:update-repos.go",
"@build_stack_rules_proto//cmd/gazelle:wspace.go",
"@build_stack_rules_proto//cmd/gencopy:BUILD.bazel",
"@build_stack_rules_proto//cmd/gencopy:gencopy.go",
"@build_stack_rules_proto//deps:BUILD.bazel",
"@build_stack_rules_proto//docs:BUILD.bazel",
"@build_stack_rules_proto//example:BUILD.bazel",
"@build_stack_rules_proto//example/golden:BUILD.bazel",
"@build_stack_rules_proto//example/person:BUILD.bazel",
"@build_stack_rules_proto//example/place:BUILD.bazel",
"@build_stack_rules_proto//example/routeguide:BUILD.bazel",
"@build_stack_rules_proto//example/routeguide/cc:BUILD.bazel",
"@build_stack_rules_proto//example/routeguide/closure:BUILD.bazel",
"@build_stack_rules_proto//example/routeguide/java:BUILD.bazel",
"@build_stack_rules_proto//example/routeguide/nodejs:BUILD.bazel",
"@build_stack_rules_proto//example/routeguide/scala:BUILD.bazel",
"@build_stack_rules_proto//example/thing:BUILD.bazel",
"@build_stack_rules_proto//example/toolchain/prebuilt:BUILD.bazel",
"@build_stack_rules_proto//example/toolchain/standard:BUILD.bazel",
"@build_stack_rules_proto//language/example:BUILD.bazel",
"@build_stack_rules_proto//language/example:example.go",
"@build_stack_rules_proto//language/protobuf:BUILD.bazel",
"@build_stack_rules_proto//language/protobuf/oldtestdata/gogo:BUILD.bazel",
"@build_stack_rules_proto//language/protobuf/oldtestdata/java:BUILD.bazel",
"@build_stack_rules_proto//language/protobuf:protobuf.go",
"@build_stack_rules_proto//pkg:BUILD.bazel",
"@build_stack_rules_proto//pkg/goldentest:BUILD.bazel",
"@build_stack_rules_proto//pkg/goldentest:cases.go",
"@build_stack_rules_proto//pkg/language/noop:BUILD.bazel",
"@build_stack_rules_proto//pkg/language/noop:noop.go",
"@build_stack_rules_proto//pkg/language/protobuf:BUILD.bazel",
"@build_stack_rules_proto//pkg/language/protobuf:config.go",
"@build_stack_rules_proto//pkg/language/protobuf:fix.go",
Expand Down Expand Up @@ -131,6 +167,8 @@ PROTO_REPOSITORY_TOOLS_SRCS = [
"@build_stack_rules_proto//plugin/grpc/grpc-go:BUILD.bazel",
"@build_stack_rules_proto//plugin/grpc/grpc-java:BUILD.bazel",
"@build_stack_rules_proto//plugin/grpc/grpc-node:BUILD.bazel",
"@build_stack_rules_proto//plugin/grpc/grpc-web:BUILD.bazel",
"@build_stack_rules_proto//plugin/grpc-ecosystem/grpc-gateway:BUILD.bazel",
"@build_stack_rules_proto//plugin/scalapb/scalapb:BUILD.bazel",
"@build_stack_rules_proto//plugin/stackb/grpc_js:BUILD.bazel",
"@build_stack_rules_proto//plugin/stephenh/ts-proto:BUILD.bazel",
Expand All @@ -145,5 +183,8 @@ PROTO_REPOSITORY_TOOLS_SRCS = [
"@build_stack_rules_proto//rules/proto:BUILD.bazel",
"@build_stack_rules_proto//rules/py:BUILD.bazel",
"@build_stack_rules_proto//rules/scala:BUILD.bazel",
"@build_stack_rules_proto//rules/ts:BUILD.bazel",
"@build_stack_rules_proto//rules/ts/node_modules/protobufjs/google/api:BUILD.bazel",
"@build_stack_rules_proto//rules/ts/node_modules/protobufjs/google/protobuf:BUILD.bazel",
"@build_stack_rules_proto//toolchain:BUILD.bazel",
]

0 comments on commit aa380e4

Please sign in to comment.