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

Commit ea999641 authored by Usta Shrestha's avatar Usta Shrestha
Browse files

ShouldKeepExistingBuldFileForDir look up by dir

instead of scanning every entry in the map for prefix-match, search each ancestor of the dir

Bug: N/A
Test: bazel_test.go#TestShouldKeepExistingBuildFileForDir()
Change-Id: I7c9afa456cca5a70624ae1e9c9b96c43b0110c1e
parent ed972972
Loading
Loading
Loading
Loading
+10 −7
Original line number Diff line number Diff line
@@ -341,17 +341,20 @@ func (a Bp2BuildConversionAllowlist) ShouldKeepExistingBuildFileForDir(dir strin
		// Exact dir match
		return true
	}
	var i int
	// Check if subtree match
	for prefix, recursive := range a.keepExistingBuildFile {
		if recursive {
			if strings.HasPrefix(dir, prefix+"/") {
	for {
		j := strings.Index(dir[i:], "/")
		if j == -1 {
			return false //default
		}
		prefix := dir[0 : i+j]
		i = i + j + 1 // skip the "/"
		if recursive, ok := a.keepExistingBuildFile[prefix]; ok && recursive {
			return true
		}
	}
}
	// Default
	return false
}

var bp2BuildAllowListKey = NewOnceKey("Bp2BuildAllowlist")
var bp2buildAllowlist OncePer