Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a4fc68a3 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Use aquery results to determine if a file should be executable" into main

parents 765beb23 20f2030e
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -1382,10 +1382,7 @@ func (c *bazelSingleton) GenerateBuildActions(ctx SingletonContext) {
			WriteFileRuleVerbatim(ctx, out, "")
		case "FileWrite", "SourceSymlinkManifest":
			out := PathForBazelOut(ctx, buildStatement.OutputPaths[0])
			// TODO(b/297366783) This is a hack to make files from skylib's diff_test executable.
			// We need to update bazel to have aquery tell us whether a file is supposed to be
			// executable or not.
			if strings.HasSuffix(buildStatement.OutputPaths[0], "-test.sh") {
			if buildStatement.IsExecutable {
				WriteExecutableFileRuleVerbatim(ctx, out, buildStatement.FileContents)
			} else {
				WriteFileRuleVerbatim(ctx, out, buildStatement.FileContents)
+3 −3
Original line number Diff line number Diff line
@@ -107,8 +107,8 @@ var (

	Cat = pctx.AndroidStaticRule("Cat",
		blueprint.RuleParams{
			Command:     "cat $in > $out",
			Description: "concatenate licenses $out",
			Command:     "rm -f $out && cat $in > $out",
			Description: "concatenate files to $out",
		})

	// ubuntu 14.04 offcially use dash for /bin/sh, and its builtin echo command
@@ -116,7 +116,7 @@ var (
	// content to file.
	writeFile = pctx.AndroidStaticRule("writeFile",
		blueprint.RuleParams{
			Command:     `/bin/bash -c 'echo -e -n "$$0" > $out' $content`,
			Command:     `rm -f $out && /bin/bash -c 'echo -e -n "$$0" > $out' $content`,
			Description: "writing file $out",
		},
		"content")
+2 −0
Original line number Diff line number Diff line
@@ -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
}