Merge "Allow libwifi-hal to use makefile_goal"

This commit is contained in:
Jooyung Han
2022-08-03 22:40:43 +00:00
committed by Gerrit Code Review
2 changed files with 32 additions and 2 deletions

View File

@@ -212,11 +212,16 @@ func createUncompressDexRules() []Rule {
}
func createMakefileGoalRules() []Rule {
allowlist := []string{
// libwifi_hal uses makefile_goal for its dependencies
"frameworks/opt/net/wifi/libwifi_hal",
}
return []Rule{
NeverAllow().
ModuleType("makefile_goal").
WithoutMatcher("product_out_path", Regexp("^boot[0-9a-zA-Z.-]*[.]img$")).
Because("Only boot images may be imported as a makefile goal."),
NotIn(allowlist...).
Because("Only boot images may be imported as a makefile goal if not in allowed projects"),
}
}

View File

@@ -324,7 +324,32 @@ var neverallowTests = []struct {
`),
},
expectedErrors: []string{
"Only boot images may be imported as a makefile goal.",
"Only boot images.* may be imported as a makefile goal",
},
},
{
name: "disallowed makefile_goal outside external",
fs: map[string][]byte{
"project/Android.bp": []byte(`
makefile_goal {
name: "foo",
product_out_path: "obj/EXE/foo",
}
`),
},
expectedErrors: []string{
"not in allowed projects",
},
},
{
name: "allow makefile_goal within external",
fs: map[string][]byte{
"frameworks/opt/net/wifi/libwifi_hal/Android.bp": []byte(`
makefile_goal {
name: "foo",
product_out_path: "obj/EXE/foo",
}
`),
},
},
// Tests for the rule prohibiting the use of framework