Never allow java_library_host with no_standard_libs: true
This combination makes no sense. Bug: 134566750 Test: m droid Change-Id: Ib37bbac165395c003d23225e0469ba60fa6a56ea
This commit is contained in:
@@ -52,6 +52,7 @@ func createNeverAllows() []*rule {
|
||||
rules = append(rules, createTrebleRules()...)
|
||||
rules = append(rules, createLibcoreRules()...)
|
||||
rules = append(rules, createJavaDeviceForHostRules()...)
|
||||
rules = append(rules, createJavaLibraryHostRules()...)
|
||||
return rules
|
||||
}
|
||||
|
||||
@@ -127,6 +128,15 @@ func createJavaDeviceForHostRules() []*rule {
|
||||
}
|
||||
}
|
||||
|
||||
func createJavaLibraryHostRules() []*rule {
|
||||
return []*rule{
|
||||
neverallow().
|
||||
moduleType("java_library_host").
|
||||
with("no_standard_libs", "true").
|
||||
because("no_standard_libs makes no sense with java_library_host"),
|
||||
}
|
||||
}
|
||||
|
||||
func neverallowMutator(ctx BottomUpMutatorContext) {
|
||||
m, ok := ctx.Module().(Module)
|
||||
if !ok {
|
||||
|
@@ -180,6 +180,18 @@ var neverallowTests = []struct {
|
||||
}`),
|
||||
},
|
||||
},
|
||||
// java_library_host rule tests
|
||||
{
|
||||
name: "java_library_host with no_standard_libs: true",
|
||||
fs: map[string][]byte{
|
||||
"libcore/Blueprints": []byte(`
|
||||
java_library_host {
|
||||
name: "inside_core_libraries",
|
||||
no_standard_libs: true,
|
||||
}`),
|
||||
},
|
||||
expectedError: "module \"inside_core_libraries\": violates neverallow",
|
||||
},
|
||||
}
|
||||
|
||||
func TestNeverallow(t *testing.T) {
|
||||
@@ -208,6 +220,7 @@ func testNeverallow(t *testing.T, config Config, fs map[string][]byte) (*TestCon
|
||||
ctx := NewTestContext()
|
||||
ctx.RegisterModuleType("cc_library", ModuleFactoryAdaptor(newMockCcLibraryModule))
|
||||
ctx.RegisterModuleType("java_library", ModuleFactoryAdaptor(newMockJavaLibraryModule))
|
||||
ctx.RegisterModuleType("java_library_host", ModuleFactoryAdaptor(newMockJavaLibraryModule))
|
||||
ctx.RegisterModuleType("java_device_for_host", ModuleFactoryAdaptor(newMockJavaLibraryModule))
|
||||
ctx.PostDepsMutators(registerNeverallowMutator)
|
||||
ctx.Register()
|
||||
|
@@ -136,13 +136,6 @@ func TestClasspath(t *testing.T) {
|
||||
bootclasspath: []string{"jdk8/jre/lib/jce.jar", "jdk8/jre/lib/rt.jar"},
|
||||
classpath: []string{},
|
||||
},
|
||||
{
|
||||
name: "host nostdlib",
|
||||
moduleType: "java_library_host",
|
||||
host: android.Host,
|
||||
properties: `no_standard_libs: true`,
|
||||
classpath: []string{},
|
||||
},
|
||||
{
|
||||
|
||||
name: "host supported default",
|
||||
|
Reference in New Issue
Block a user