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 { func createMakefileGoalRules() []Rule {
allowlist := []string{
// libwifi_hal uses makefile_goal for its dependencies
"frameworks/opt/net/wifi/libwifi_hal",
}
return []Rule{ return []Rule{
NeverAllow(). NeverAllow().
ModuleType("makefile_goal"). ModuleType("makefile_goal").
WithoutMatcher("product_out_path", Regexp("^boot[0-9a-zA-Z.-]*[.]img$")). 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{ 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 // Tests for the rule prohibiting the use of framework