Product config makefiles to Starlark converter

Test: treehugger; internal tests in mk2rbc_test.go
Bug: 172923994
Change-Id: I43120b9c181ef2b8d9453e743233811b0fec268b
This commit is contained in:
Sasha Smundak
2020-11-05 20:45:07 -08:00
parent e04058f291
commit b051c4ede3
11 changed files with 3885 additions and 1 deletions

View File

@@ -278,6 +278,15 @@ func (ms *MakeString) ReplaceLiteral(input string, output string) {
}
}
// If MakeString is $(var) after trimming, returns var
func (ms *MakeString) SingleVariable() (*MakeString, bool) {
if len(ms.Strings) != 2 || strings.TrimSpace(ms.Strings[0]) != "" ||
strings.TrimSpace(ms.Strings[1]) != "" {
return nil, false
}
return ms.Variables[0].Name, true
}
func splitAnyN(s, sep string, n int) []string {
ret := []string{}
for n == -1 || n > 1 {