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

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

Merge "Add the system image test to the bazel sandwich" into main

parents 234bb3bd 39b614af
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -1649,5 +1649,9 @@ var (
			Label: "//build/bazel/examples/partitions:system_image",
			Host:  false,
		},
		{
			Label: "//build/bazel/examples/partitions:run_test",
			Host:  false,
		},
	}
)
+8 −1
Original line number Diff line number Diff line
@@ -1382,7 +1382,14 @@ 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") {
				WriteExecutableFileRuleVerbatim(ctx, out, buildStatement.FileContents)
			} else {
				WriteFileRuleVerbatim(ctx, out, buildStatement.FileContents)
			}
		case "SymlinkTree":
			// build-runfiles arguments are the manifest file and the target directory
			// where it creates the symlink tree according to this manifest (and then
+7 −5
Original line number Diff line number Diff line
@@ -209,12 +209,14 @@ func WriteFileRuleVerbatim(ctx BuilderContext, outputFile WritablePath, content
	buildWriteFileRule(ctx, outputFile, content)
}

func CatFileRule(ctx BuilderContext, paths Paths, outputFile WritablePath) {
// WriteExecutableFileRuleVerbatim is the same as WriteFileRuleVerbatim, but runs chmod +x on the result
func WriteExecutableFileRuleVerbatim(ctx BuilderContext, outputFile WritablePath, content string) {
	intermediate := PathForIntermediates(ctx, "write_executable_file_intermediates").Join(ctx, outputFile.String())
	WriteFileRuleVerbatim(ctx, intermediate, content)
	ctx.Build(pctx, BuildParams{
		Rule:        Cat,
		Inputs:      paths,
		Rule:   CpExecutable,
		Output: outputFile,
		Description: "combine files to " + outputFile.Base(),
		Input:  intermediate,
	})
}