Loading android/neverallow.go +10 −0 Original line number Diff line number Diff line Loading @@ -57,6 +57,7 @@ func init() { AddNeverAllowRules(createUncompressDexRules()...) AddNeverAllowRules(createMakefileGoalRules()...) AddNeverAllowRules(createInitFirstStageRules()...) AddNeverAllowRules(createProhibitFrameworkAccessRules()...) } // Add a NeverAllow rule to the set of rules to apply. Loading Loading @@ -228,6 +229,15 @@ func createInitFirstStageRules() []Rule { } } func createProhibitFrameworkAccessRules() []Rule { return []Rule{ NeverAllow(). With("libs", "framework"). WithoutMatcher("sdk_version", Regexp("(core_.*|^$)")). Because("framework can't be used when building against SDK"), } } func neverallowMutator(ctx BottomUpMutatorContext) { m, ok := ctx.Module().(Module) if !ok { Loading android/neverallow_test.go +15 −0 Original line number Diff line number Diff line Loading @@ -327,6 +327,21 @@ var neverallowTests = []struct { "Only boot images may be imported as a makefile goal.", }, }, // Tests for the rule prohibiting the use of framework { name: "prohibit framework", fs: map[string][]byte{ "Android.bp": []byte(` java_library { name: "foo", libs: ["framework"], sdk_version: "current", }`), }, expectedErrors: []string{ "framework can't be used when building against SDK", }, }, } var prepareForNeverAllowTest = GroupFixturePreparers( Loading Loading
android/neverallow.go +10 −0 Original line number Diff line number Diff line Loading @@ -57,6 +57,7 @@ func init() { AddNeverAllowRules(createUncompressDexRules()...) AddNeverAllowRules(createMakefileGoalRules()...) AddNeverAllowRules(createInitFirstStageRules()...) AddNeverAllowRules(createProhibitFrameworkAccessRules()...) } // Add a NeverAllow rule to the set of rules to apply. Loading Loading @@ -228,6 +229,15 @@ func createInitFirstStageRules() []Rule { } } func createProhibitFrameworkAccessRules() []Rule { return []Rule{ NeverAllow(). With("libs", "framework"). WithoutMatcher("sdk_version", Regexp("(core_.*|^$)")). Because("framework can't be used when building against SDK"), } } func neverallowMutator(ctx BottomUpMutatorContext) { m, ok := ctx.Module().(Module) if !ok { Loading
android/neverallow_test.go +15 −0 Original line number Diff line number Diff line Loading @@ -327,6 +327,21 @@ var neverallowTests = []struct { "Only boot images may be imported as a makefile goal.", }, }, // Tests for the rule prohibiting the use of framework { name: "prohibit framework", fs: map[string][]byte{ "Android.bp": []byte(` java_library { name: "foo", libs: ["framework"], sdk_version: "current", }`), }, expectedErrors: []string{ "framework can't be used when building against SDK", }, }, } var prepareForNeverAllowTest = GroupFixturePreparers( Loading