Remove ?= assignements to product variables

In make, all product variables are assigned to an empty string before
including the product config makefiles. In starlark, we don't do that
just so the memory usage is smaller. This means that in make, using
?= to assign a product config variable has no effect. Replicate this
behavior in starlark by not emitting any code for ?= assignments of
product variables.

Fixes: 304324003
Test: go test
Change-Id: Id31531506ac9e372a1bea92ce9ae8e17ae0ca70c
This commit is contained in:
Cole Faust
2023-10-09 12:26:21 -07:00
parent 69cf8a3221
commit 8e15f69709
3 changed files with 20 additions and 20 deletions

View File

@@ -109,14 +109,11 @@ func (pcv productConfigVariable) emitSet(gctx *generationContext, asgn *assignme
}
emitAppend()
case asgnMaybeSet:
gctx.writef("if cfg.get(%q) == None:", pcv.nam)
gctx.indentLevel++
gctx.newLine()
if needsSetDefault {
emitSetDefault()
}
emitAssignment()
gctx.indentLevel--
// In mk2rbc.go we never emit a maybeSet assignment for product config variables, because
// they are set to empty strings before running product config.
panic("Should never get here")
default:
panic("Unknown assignment flavor")
}
gctx.setHasBeenAssigned(&pcv)