Disallow linking against updatable-media.
Test: make
Bug: 123253805
Change-Id: I93a86bd8210cf72dbcaa8f7dde96c72acd660934
diff --git a/android/neverallow.go b/android/neverallow.go
index 18744e8..9881b4d 100644
--- a/android/neverallow.go
+++ b/android/neverallow.go
@@ -51,6 +51,7 @@
rules := []*rule{}
rules = append(rules, createTrebleRules()...)
rules = append(rules, createLibcoreRules()...)
+ rules = append(rules, createMediaRules()...)
return rules
}
@@ -125,6 +126,14 @@
return rules
}
+func createMediaRules() []*rule {
+ return []*rule{
+ neverallow().
+ with("libs", "updatable-media").
+ because("updatable-media includes private APIs. Use updatable_media_stubs instead."),
+ }
+}
+
func neverallowMutator(ctx BottomUpMutatorContext) {
m, ok := ctx.Module().(Module)
if !ok {
diff --git a/android/neverallow_test.go b/android/neverallow_test.go
index 9e4886c..249b474 100644
--- a/android/neverallow_test.go
+++ b/android/neverallow_test.go
@@ -148,6 +148,17 @@
},
expectedError: "Only core libraries projects can depend on core-libart",
},
+ {
+ name: "dependency on updatable-media",
+ fs: map[string][]byte{
+ "Blueprints": []byte(`
+ java_library {
+ name: "needs_updatable_media",
+ libs: ["updatable-media"],
+ }`),
+ },
+ expectedError: "updatable-media includes private APIs. Use updatable_media_stubs instead.",
+ },
}
func TestNeverallow(t *testing.T) {