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

Commit 973d31c7 authored by Anton Hansson's avatar Anton Hansson
Browse files

Fix api_fingerprint.txt generation

Use the generated txt files as input instead
of globbing for now non-existent files.

Also add the system server api txt to the hash.

Bug: 179807354
Test: verify out/soong/api_fingerprint.txt changes now
Test: verify the command in the ninja file looks ok:
      grep api_fingerprint out/soong/build.ninja
Change-Id: I7a49ca134eb93b22537a4f3054285eb15f8c4256
parent 89886cbd
Loading
Loading
Loading
Loading
+19 −7
Original line number Diff line number Diff line
@@ -640,14 +640,26 @@ func createAPIFingerprint(ctx android.SingletonContext) {

	if ctx.Config().PlatformSdkCodename() == "REL" {
		cmd.Text("echo REL >").Output(out)
	} else if !ctx.Config().AlwaysUsePrebuiltSdks() {
		in, err := ctx.GlobWithDeps("frameworks/base/api/*current.txt", nil)
		if err != nil {
			ctx.Errorf("error globbing API files: %s", err)
	} else if ctx.Config().FrameworksBaseDirExists(ctx) && !ctx.Config().AlwaysUsePrebuiltSdks() {
		cmd.Text("cat")
		apiTxtFileModules := []string{
			"frameworks-base-api-current.txt",
			"frameworks-base-api-system-current.txt",
			"frameworks-base-api-module-lib-current.txt",
		}
		count := 0
		ctx.VisitAllModules(func(module android.Module) {
			name := ctx.ModuleName(module)
			if android.InList(name, apiTxtFileModules) {
				cmd.Inputs(android.OutputFilesForModule(ctx, module, ""))
				count++
			}

		cmd.Text("cat").
			Inputs(android.PathsForSource(ctx, in)).
		})
		if count != len(apiTxtFileModules) {
			ctx.Errorf("Could not find all the expected API modules %v, found %d\n", apiTxtFileModules, count)
			return
		}
		cmd.Input(android.PathForSource(ctx, "frameworks/base/services/api/current.txt")).
			Text("| md5sum | cut -d' ' -f1 >").
			Output(out)
	} else {