Merge "Allow libwifi-hal to use makefile_goal"
This commit is contained in:
@@ -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"),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -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
|
||||||
|
Reference in New Issue
Block a user