Remove sdk_version: "none" restriction
Not entirely sure what the history behind requiring only libcore projects use this, but it is a bit annoying to have to allow-list every use. Bug: 173606718 Test: m nothing Change-Id: I66f71e67d3f17e7f983c8537dff537fe8419da95
This commit is contained in:
@@ -51,7 +51,6 @@ var neverallows = []Rule{}
|
|||||||
func init() {
|
func init() {
|
||||||
AddNeverAllowRules(createIncludeDirsRules()...)
|
AddNeverAllowRules(createIncludeDirsRules()...)
|
||||||
AddNeverAllowRules(createTrebleRules()...)
|
AddNeverAllowRules(createTrebleRules()...)
|
||||||
AddNeverAllowRules(createLibcoreRules()...)
|
|
||||||
AddNeverAllowRules(createMediaRules()...)
|
AddNeverAllowRules(createMediaRules()...)
|
||||||
AddNeverAllowRules(createJavaDeviceForHostRules()...)
|
AddNeverAllowRules(createJavaDeviceForHostRules()...)
|
||||||
AddNeverAllowRules(createCcSdkVariantRules()...)
|
AddNeverAllowRules(createCcSdkVariantRules()...)
|
||||||
@@ -133,38 +132,6 @@ func createTrebleRules() []Rule {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func createLibcoreRules() []Rule {
|
|
||||||
var coreLibraryProjects = []string{
|
|
||||||
"libcore",
|
|
||||||
"external/apache-harmony",
|
|
||||||
"external/apache-xml",
|
|
||||||
"external/bouncycastle",
|
|
||||||
"external/conscrypt",
|
|
||||||
"external/icu",
|
|
||||||
"external/okhttp",
|
|
||||||
"external/wycheproof",
|
|
||||||
"prebuilts",
|
|
||||||
}
|
|
||||||
|
|
||||||
// Additional whitelisted path only used for ART testing, which needs access to core library
|
|
||||||
// targets. This does not affect the contents of a device image (system, vendor, etc.).
|
|
||||||
var artTests = []string{
|
|
||||||
"art/test",
|
|
||||||
}
|
|
||||||
|
|
||||||
// Core library constraints. The sdk_version: "none" can only be used in core library projects and ART tests.
|
|
||||||
// Access to core library targets is restricted using visibility rules.
|
|
||||||
rules := []Rule{
|
|
||||||
NeverAllow().
|
|
||||||
NotIn(coreLibraryProjects...).
|
|
||||||
NotIn(artTests...).
|
|
||||||
With("sdk_version", "none").
|
|
||||||
WithoutMatcher("name", Regexp("^android_.*stubs_current$")),
|
|
||||||
}
|
|
||||||
|
|
||||||
return rules
|
|
||||||
}
|
|
||||||
|
|
||||||
func createMediaRules() []Rule {
|
func createMediaRules() []Rule {
|
||||||
return []Rule{
|
return []Rule{
|
||||||
NeverAllow().
|
NeverAllow().
|
||||||
|
@@ -215,50 +215,6 @@ var neverallowTests = []struct {
|
|||||||
"java_device_for_host can only be used in allowed projects",
|
"java_device_for_host can only be used in allowed projects",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
// Libcore rule tests
|
|
||||||
{
|
|
||||||
name: "sdk_version: \"none\" inside core libraries",
|
|
||||||
fs: map[string][]byte{
|
|
||||||
"libcore/Android.bp": []byte(`
|
|
||||||
java_library {
|
|
||||||
name: "inside_core_libraries",
|
|
||||||
sdk_version: "none",
|
|
||||||
}`),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "sdk_version: \"none\" on android_*stubs_current stub",
|
|
||||||
fs: map[string][]byte{
|
|
||||||
"frameworks/base/Android.bp": []byte(`
|
|
||||||
java_library {
|
|
||||||
name: "android_stubs_current",
|
|
||||||
sdk_version: "none",
|
|
||||||
}`),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "sdk_version: \"none\" outside core libraries",
|
|
||||||
fs: map[string][]byte{
|
|
||||||
"Android.bp": []byte(`
|
|
||||||
java_library {
|
|
||||||
name: "outside_core_libraries",
|
|
||||||
sdk_version: "none",
|
|
||||||
}`),
|
|
||||||
},
|
|
||||||
expectedErrors: []string{
|
|
||||||
"module \"outside_core_libraries\": violates neverallow",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "sdk_version: \"current\"",
|
|
||||||
fs: map[string][]byte{
|
|
||||||
"Android.bp": []byte(`
|
|
||||||
java_library {
|
|
||||||
name: "outside_core_libraries",
|
|
||||||
sdk_version: "current",
|
|
||||||
}`),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
// CC sdk rule tests
|
// CC sdk rule tests
|
||||||
{
|
{
|
||||||
name: `"sdk_variant_only" outside allowed list`,
|
name: `"sdk_variant_only" outside allowed list`,
|
||||||
|
Reference in New Issue
Block a user