...
1
15
16 package proto
17
18 import (
19 "fmt"
20
21 "github.com/bazelbuild/bazel-gazelle/rule"
22 )
23
24 var protoKinds = map[string]rule.KindInfo{
25 "proto_library": {
26 MatchAttrs: []string{"srcs"},
27 NonEmptyAttrs: map[string]bool{"srcs": true},
28 MergeableAttrs: map[string]bool{
29 "srcs": true,
30 "import_prefix": true,
31 "strip_import_prefix": true,
32 },
33 ResolveAttrs: map[string]bool{"deps": true},
34 },
35 }
36
37 func (*protoLang) Kinds() map[string]rule.KindInfo { return protoKinds }
38
39 func (pl *protoLang) Loads() []rule.LoadInfo {
40 panic("ApparentLoads should be called instead")
41 }
42
43 func (*protoLang) ApparentLoads(moduleToApparentName func(string) string) []rule.LoadInfo {
44 rulesProto := moduleToApparentName("rules_proto")
45 if rulesProto == "" {
46 rulesProto = "rules_proto"
47 }
48 return []rule.LoadInfo{
49 {
50 Name: fmt.Sprintf("@%s//proto:defs.bzl", rulesProto),
51 Symbols: []string{
52 "proto_library",
53 },
54 },
55 }
56 }
57
View as plain text