diff options
author | 2023-09-22 17:29:56 -0400 | |
---|---|---|
committer | 2023-09-22 17:31:32 -0400 | |
commit | a79afd7efa2fad0c913bbd29e69475dec9a70dcc (patch) | |
tree | 3221e7ef3c5d4431820527eafb61dc179632d363 /bazel/aquery.go | |
parent | eba2a2af2270585aefccad590fc5f683567a784a (diff) |
Include label in aquery error
When an Action fails to convert to a Ninja build statement,
include the bazel label in the error message.
Test: NA
Bug: 301638491
Change-Id: I592978c5e530043769b0232fdd200ad13b72c39b
Diffstat (limited to 'bazel/aquery.go')
-rw-r--r-- | bazel/aquery.go | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/bazel/aquery.go b/bazel/aquery.go index c35571239..7195a97a6 100644 --- a/bazel/aquery.go +++ b/bazel/aquery.go @@ -18,14 +18,16 @@ import ( "crypto/sha256" "encoding/base64" "encoding/json" + "errors" "fmt" "path/filepath" - analysis_v2_proto "prebuilts/bazel/common/proto/analysis_v2" "reflect" "sort" "strings" "sync" + analysis_v2_proto "prebuilts/bazel/common/proto/analysis_v2" + "github.com/google/blueprint/metrics" "github.com/google/blueprint/proptools" "google.golang.org/protobuf/proto" @@ -374,9 +376,14 @@ func AqueryBuildStatements(aqueryJsonProto []byte, eventHandler *metrics.EventHa for i, actionEntry := range aqueryProto.Actions { wg.Add(1) go func(i int, actionEntry *analysis_v2_proto.Action) { - buildStatement, aErr := aqueryHandler.actionToBuildStatement(actionEntry) - if aErr != nil { + if buildStatement, aErr := aqueryHandler.actionToBuildStatement(actionEntry); aErr != nil { errOnce.Do(func() { + for _, t := range aqueryProto.Targets { + if t.GetId() == actionEntry.GetTargetId() { + aErr = fmt.Errorf("%s: [%s] [%s]", aErr.Error(), actionEntry.GetMnemonic(), t.GetLabel()) + break + } + } err = aErr }) } else { @@ -782,7 +789,7 @@ func (a *aqueryArtifactHandler) actionToBuildStatement(actionEntry *analysis_v2_ } if len(actionEntry.Arguments) < 1 { - return nil, fmt.Errorf("received action with no command: [%s]", actionEntry.Mnemonic) + return nil, errors.New("received action with no command") } return a.normalActionBuildStatement(actionEntry) |