@@ -55,9 +55,7 @@ func (*Resolver) Name() string { return languageName }
5555// If nil is returned, the rule will not be indexed. If any non-nil slice is
5656// returned, including an empty slice, the rule will be indexed.
5757func (py * Resolver ) Imports (c * config.Config , r * rule.Rule , f * rule.File ) []resolve.ImportSpec {
58- // To avoid multiple labels indexing the same import,
59- // check if there is a corresponding py_library rule with the same srcs.
60- if r .Kind () == "py_binary" && ! indexPyBinaryImport (r , f ) {
58+ if ! indexPyBinaryImport (r , f ) {
6159 return nil
6260 }
6361 cfgs := c .Exts [languageName ].(pythonconfig.Configs )
@@ -323,7 +321,14 @@ func convertDependencySetToExpr(set *treeset.Set) bzl.Expr {
323321 return & bzl.ListExpr {List : deps }
324322}
325323
324+ // indexPyBinaryImport returns whether the corresponding py_binary rule need to be indexed.
325+ // To avoid multiple labels indexing the same import,
326+ // check if there is a corresponding py_library rule with the same srcs.
326327func indexPyBinaryImport (r * rule.Rule , f * rule.File ) bool {
328+ // If the rule is not a py_binary, it should be indexed.
329+ if r .Kind () != "py_binary" {
330+ return true
331+ }
327332 pyBinarySrcs := r .AttrStrings ("srcs" )
328333 if len (pyBinarySrcs ) == 0 {
329334 return false
0 commit comments