Repository: goadesign/goa (go)

Issue:
Invalid code generation for GRPC while using goakit plugin
Using the following design

```go
package design

import (
	. "goa.design/goa/v3/dsl"
	_ "goa.design/plugins/v3/goakit"
)

var _ = API("calc", func() {
	Title("Calculator Service")
	Description("Service for adding numbers, a Goa teaser")
	Server("calc", func() {
		Host("localhost", func() {
			URI("http://localhost:8000")
			URI("grpc://localhost:8080")
		})
	})
})

var _ = Service("calc", func() {
	Description("The calc service performs operations on numbers.")

	Method("add", func() {
		Payload(func() {
			Field(1, "a", Int, "Left operand")
			Field(2, "b", Int, "Right operand")
			Required("a", "b")
		})

		Result(Int)

		HTTP(func() {
			GET("/add/{a}/{b}")
		})

		GRPC(func() {
		})
	})

	Files("/openapi.json", "./gen/http/openapi.json")
})

```
generated gRPC handler is invalid, cannot use endpoint (type endpoint.Endpoint from go-kit) as type goa.Endpoint.

```go
// NewAddHandler creates a gRPC handler which serves the "calc" service "add"
// endpoint.
func NewAddHandler(endpoint endpoint.Endpoint, h goagrpc.UnaryHandler) goagrpc.UnaryHandler {
	if h == nil {
		h = goagrpc.NewUnaryHandler(endpoint, DecodeAddRequest, EncodeAddResponse)
	}
	return h
}
```


Pull request:
Properly handle gRPC servers in goakit plugin
Fix #2680

Patch:
diff --git a/grpc/codegen/server.go b/grpc/codegen/server.go
index b028ef08..64302122 100644
--- a/grpc/codegen/server.go
+++ b/grpc/codegen/server.go
@@ -65,7 +65,7 @@ func serverFile(genpkg string, svc *expr.GRPCServiceExpr) *codegen.File {
 		})
 		for _, e := range data.Endpoints {
 			sections = append(sections, &codegen.SectionTemplate{
-				Name:   "handler-init",
+				Name:   "grpc-handler-init",
 				Source: handlerInitT,
 				Data:   e,
 			})


Test patch:
diff --git a/grpc/codegen/server_test.go b/grpc/codegen/server_test.go
index 232ed4e7..04902cf2 100644
--- a/grpc/codegen/server_test.go
+++ b/grpc/codegen/server_test.go
@@ -67,7 +67,7 @@ func TestServerHandlerInit(t *testing.T) {
 			if len(fs) != 2 {
 				t.Fatalf("got %d files, expected two", len(fs))
 			}
-			sections := fs[0].Section("handler-init")
+			sections := fs[0].Section("grpc-handler-init")
 			if len(sections) == 0 {
 				t.Fatalf("got zero sections, expected at least one")
 			}