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

Commit ae3c12ba authored by Wei Li's avatar Wei Li
Browse files

Ignore METADATA files in python packages shipped with prebuilts/clang, which...

Ignore METADATA files in python packages shipped with prebuilts/clang, which are from upstream and not in the format used in Android.

Bug: 376319250
Test: m nothing, out/.module_paths/METADATA.list should contain only two METADATA files in prebuilts/clang: prebuilts/clang/host/linux-x86/METADATA and prebuilts/clang/host/darwin-x86/METADATA
Change-Id: I9933ef44c91db7334f1a65374f718beacb044612
parent 337eb255
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -171,6 +171,7 @@ func FindSources(ctx Context, config Config, f *finder.Finder) {

	// Recursively look for all METADATA files.
	metadataFiles := f.FindNamedAt(".", "METADATA")
	metadataFiles = ignoreNonAndroidMetadataFiles(metadataFiles)
	err = dumpListToFile(ctx, config, metadataFiles, filepath.Join(dumpDir, "METADATA.list"))
	if err != nil {
		ctx.Fatalf("Could not find METADATA: %v", err)
@@ -223,3 +224,16 @@ func dumpListToFile(ctx Context, config Config, list []string, filePath string)

	return nil
}

func ignoreNonAndroidMetadataFiles(metadataFiles []string) []string {
	result := make([]string, 0, len(metadataFiles))
	for _, file := range metadataFiles {
		// Ignore files like prebuilts/clang/host/linux-x86/clang-r536225/python3/lib/python3.11/site-packages/pip-23.1.2.dist-info/METADATA
		// these METADATA files are from upstream and are not the METADATA files used in Android codebase.
		if strings.Contains(file, "prebuilts/clang/host/") && strings.Contains(file, "/site-packages/") {
			continue
		}
		result = append(result, file)
	}
	return result
}