Use aquery results to determine if a file should be executable

Now that aquery includes this information.

Also added rm -f $out to some rules, because since they write files
by shell redirection, if the file existed before and was executable,
they wouldn't make the file non-executable and visa versa.

Fixes: 297366783
Test: m bazel_sandwich
Change-Id: Ie5b6c4275b162601f51deaec9912eea4be16988d
This commit is contained in:
Cole Faust
2023-08-31 11:00:25 -07:00
parent 8bbe26cad7
commit 20f2030e29
3 changed files with 6 additions and 7 deletions

View File

@@ -123,6 +123,7 @@ type BuildStatement struct {
// Unlike most properties in BuildStatement, these paths must be relative to the root of
// the whole out/ folder, instead of relative to ctx.Config().BazelContext.OutputBase()
ImplicitDeps []string
IsExecutable bool
}
// A helper type for aquery processing which facilitates retrieval of path IDs from their
@@ -560,6 +561,7 @@ func (a *aqueryArtifactHandler) fileWriteActionBuildStatement(actionEntry *analy
Mnemonic: actionEntry.Mnemonic,
InputDepsetHashes: depsetHashes,
FileContents: actionEntry.FileContents,
IsExecutable: actionEntry.IsExecutable,
}, nil
}