Do not propagate strict updatability linting to libcore/
propogation of this flag is determined by the location of the Android.bp where a library is defined. libcore/ libraries that are transtive deps of updatable apexes will - inherit strict_updatability_linting:true if defined in libcore root - not inherit strict_updatability_linting:true if defined in libcore subdir Note that the module can explicitly list `lint:{strict_updatability_linting: true}' in their Android.bp file, in which case they will not be allowed to baseline NewApi errors Test: m lint-check Test: TH Bug: 208656169 Bug: 182349282 Change-Id: I4c373b2960a7af16301d7f06aab448f39b937ea9
This commit is contained in:
@@ -1011,6 +1011,14 @@ func apexStrictUpdatibilityLintMutator(mctx android.TopDownMutatorContext) {
|
||||
}
|
||||
if apex, ok := mctx.Module().(*apexBundle); ok && apex.checkStrictUpdatabilityLinting() {
|
||||
mctx.WalkDeps(func(child, parent android.Module) bool {
|
||||
// b/208656169 Do not propagate strict updatability linting to libcore/
|
||||
// These libs are available on the classpath during compilation
|
||||
// These libs are transitive deps of the sdk. See java/sdk.go:decodeSdkDep
|
||||
// Only skip libraries defined in libcore root, not subdirectories
|
||||
if mctx.OtherModuleDir(child) == "libcore" {
|
||||
// Do not traverse transitive deps of libcore/ libs
|
||||
return false
|
||||
}
|
||||
if lintable, ok := child.(java.LintDepSetsIntf); ok {
|
||||
lintable.SetStrictUpdatabilityLinting(true)
|
||||
}
|
||||
|
Reference in New Issue
Block a user