Handle RepoMappingManifest actions
These are essentially FileWrite actions, like SourceSymlinkManifest.
However, currently aquery appears to give non-deterministic results
for the file content. Emit an empty file for now to avoid the
non-determinism.
Fixes: 288292933
Bug: 287539324
Test: Presubmits
Change-Id: Ieaf8aff0d58d2d69087e4e34dc99074a015e700c
diff --git a/android/bazel_handler.go b/android/bazel_handler.go
index d5ccfca..5d93f06 100644
--- a/android/bazel_handler.go
+++ b/android/bazel_handler.go
@@ -1270,6 +1270,12 @@
// because this would cause circular dependency. So, until we move aquery processing
// to the 'android' package, we need to handle special cases here.
switch buildStatement.Mnemonic {
+ case "RepoMappingManifest":
+ // It appears RepoMappingManifest files currently have
+ // non-deterministic content. Just emit empty files for
+ // now because they're unused.
+ out := PathForBazelOut(ctx, buildStatement.OutputPaths[0])
+ WriteFileRuleVerbatim(ctx, out, "")
case "FileWrite", "SourceSymlinkManifest":
out := PathForBazelOut(ctx, buildStatement.OutputPaths[0])
WriteFileRuleVerbatim(ctx, out, buildStatement.FileContents)