Improve apex build check explanation
Discourage jarjaring code where there are alternatives with
better system health implications.
Test: m
Bug: 215233995
Change-Id: I1b076d00e1ad6aa32b41da6bda1033978b5e829d
diff --git a/apex/apex.go b/apex/apex.go
index 635ff30..09e634e 100644
--- a/apex/apex.go
+++ b/apex/apex.go
@@ -3204,8 +3204,15 @@
WithMatcher("permitted_packages", android.NotInList(module_packages)).
WithMatcher("min_sdk_version", android.LessThanSdkVersion("Tiramisu")).
Because("jars that are part of the " + module_name +
- " module may only allow these packages: " + strings.Join(module_packages, ",") +
- " with min_sdk < T. Please jarjar or move code around.")
+ " module may only use these package prefixes: " + strings.Join(module_packages, ",") +
+ " with min_sdk < T. Please consider the following alternatives:\n" +
+ " 1. If the offending code is from a statically linked library, consider " +
+ "removing that dependency and using an alternative already in the " +
+ "bootclasspath, or perhaps a shared library." +
+ " 2. Move the offending code into an allowed package.\n" +
+ " 3. Jarjar the offending code. Please be mindful of the potential system " +
+ "health implications of bundling that code, particularly if the offending jar " +
+ "is part of the bootclasspath.")
rules = append(rules, permittedPackagesRule)
}
return rules