瀏覽代碼

Allow java_library.exclude_static_libs property for libcore and f/b/api

exclude_static_lib property was introduced to enable static lib
switching based on build configuration. The usage of property was
limited to build/soong directory to prevent other modules from using the
proerty.

In order to allow "core-lambda-stubs" and
"android-non-updatable.stubs.*" to utilize similar static lib switching
based on build configuration, allow exclude_static_libs property to be
used in libcore and frameworks/base/api directory.

Test: m nothing
Bug: 287344503
Change-Id: I342b09c7ada03607b12dc8896ae39825d8545e92
Jihoon Kang 11 月之前
父節點
當前提交
3d4d88d68e
共有 2 個文件被更改,包括 3 次插入3 次删除
  1. 2 2
      android/neverallow.go
  2. 1 1
      android/neverallow_test.go

+ 2 - 2
android/neverallow.go

@@ -256,10 +256,10 @@ func createProhibitFrameworkAccessRules() []Rule {
 
 func createJavaExcludeStaticLibsRule() Rule {
 	return NeverAllow().
-		NotIn("build/soong").
+		NotIn("build/soong", "libcore", "frameworks/base/api").
 		ModuleType("java_library").
 		WithMatcher("exclude_static_libs", isSetMatcherInstance).
-		Because("exclude_static_libs property is only allowed for java modules defined in build/soong")
+		Because("exclude_static_libs property is only allowed for java modules defined in build/soong, libcore, and frameworks/base/api")
 }
 
 func neverallowMutator(ctx BottomUpMutatorContext) {

+ 1 - 1
android/neverallow_test.go

@@ -358,7 +358,7 @@ var neverallowTests = []struct {
 			`),
 		},
 		expectedErrors: []string{
-			`exclude_static_libs property is only allowed for java modules defined in build/soong`,
+			`exclude_static_libs property is only allowed for java modules defined in build/soong, libcore, and frameworks/base/api`,
 		},
 	},
 }