diff --git a/makedeps/deps.go b/makedeps/deps.go index e64e6f788..db4953259 100644 --- a/makedeps/deps.go +++ b/makedeps/deps.go @@ -57,10 +57,12 @@ func Parse(filename string, r io.Reader) (*Deps, error) { return nil, fmt.Errorf("%sunsupported variable expansion: %v", pos(node), x.Target.Dump()) } outputs := x.Target.Words() - if len(outputs) == 0 { - return nil, fmt.Errorf("%smissing output: %v", pos(node), x) + if len(outputs) > 0 { + ret.Output = outputs[0].Value(nil) + } else { + // TODO(b/141372861): put this back + //return nil, fmt.Errorf("%smissing output: %v", pos(node), x) } - ret.Output = outputs[0].Value(nil) if !x.Prerequisites.Const() { return nil, fmt.Errorf("%sunsupported variable expansion: %v", pos(node), x.Prerequisites.Dump()) diff --git a/makedeps/deps_test.go b/makedeps/deps_test.go index a32df650e..ac2f6996a 100644 --- a/makedeps/deps_test.go +++ b/makedeps/deps_test.go @@ -147,6 +147,20 @@ b: e`, }, }, }, + { + // TODO(b/141372861): remove this + // AIDL produces a dep file with no output file for a parcelable (b/ + name: "AIDL parcelable", + input: ` : \ + frameworks/base/tests/net/integration/src/com/android/server/net/integrationtests/HttpResponse.aidl +`, + output: Deps{ + Output: "", + Inputs: []string{ + "frameworks/base/tests/net/integration/src/com/android/server/net/integrationtests/HttpResponse.aidl", + }, + }, + }, } for _, tc := range testCases {