Improve apex build check explanation

Discourage jarjaring code where there are alternatives with
better system health implications.

Test: m
Bug: 215233995
Change-Id: I1b076d00e1ad6aa32b41da6bda1033978b5e829d
This commit is contained in:
Andrei Onea
2022-01-19 15:36:40 +00:00
parent d461407cae
commit d967aee96f
2 changed files with 11 additions and 4 deletions

View File

@@ -3204,8 +3204,15 @@ func createApexPermittedPackagesRules(modules_packages map[string][]string) []an
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