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
This commit is contained in:
parent
eba2a2af22
commit
a79afd7efa
1 changed files with 11 additions and 4 deletions
|
@ -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)
|
||||
|
||||
|
|
Loading…
Reference in a new issue