Syntax check generated Android.bp snapshot

Checks the syntax of the Android.bp file generated for the sdk
snapshot. While this will not detect all possible problems with the
generated Android.bp file it will detect some and it is far better to
detect those issues during generation than when it is unpacked and
used.

Bug: 155628860
Test: m nothing
Change-Id: Ieec86a7a49fa2e3bd8b9f83aca540114232a3476
This commit is contained in:
Paul Duffin
2020-05-07 20:21:34 +01:00
parent b67b9a416e
commit f88d8e032f
2 changed files with 44 additions and 0 deletions

View File

@@ -104,6 +104,8 @@ type EarlyModuleContext interface {
type BaseModuleContext interface {
EarlyModuleContext
blueprintBaseModuleContext() blueprint.BaseModuleContext
OtherModuleName(m blueprint.Module) string
OtherModuleDir(m blueprint.Module) string
OtherModuleErrorf(m blueprint.Module, fmt string, args ...interface{})
@@ -1442,6 +1444,10 @@ func (b *baseModuleContext) GetDirectDepWithTag(name string, tag blueprint.Depen
return b.bp.GetDirectDepWithTag(name, tag)
}
func (b *baseModuleContext) blueprintBaseModuleContext() blueprint.BaseModuleContext {
return b.bp
}
type moduleContext struct {
bp blueprint.ModuleContext
baseModuleContext
@@ -2364,3 +2370,8 @@ type IdeInfo struct {
Installed_paths []string `json:"installed,omitempty"`
SrcJars []string `json:"srcjars,omitempty"`
}
func CheckBlueprintSyntax(ctx BaseModuleContext, filename string, contents string) []error {
bpctx := ctx.blueprintBaseModuleContext()
return blueprint.CheckBlueprintSyntax(bpctx.ModuleFactories(), filename, contents)
}