Replace $(call my-dir) with a string literal

This is so that we can set LOCAL_PATH to the result
of my-dir, as LOCAL_PATH can only be set to a string
literal of the exact value of LOCAL_PATH.

It's probably also the correct choice to start phasing
out LOCAL_PATH.

Bug: 214405650
Test: go test
Change-Id: Ia97d7fedf4ce62643921d90a176e65edd4e2fce6
This commit is contained in:
Cole Faust
2022-03-18 14:05:06 -07:00
parent 2316240547
commit f5adedce03
3 changed files with 20 additions and 9 deletions

View File

@@ -1370,7 +1370,7 @@ func (p *myDirCallParser) parse(ctx *parseContext, node mkparser.Node, args *mkp
if !args.Empty() {
return ctx.newBadExpr(node, "my-dir function cannot have any arguments passed to it.")
}
return &variableRefExpr{ctx.addVariable("LOCAL_PATH"), true}
return &stringLiteralExpr{literal: filepath.Dir(ctx.script.mkFile)}
}
type isProductInListCallParser struct{}