diff options
author | Jiyong Park <jiyong@google.com> | 2019-12-19 00:21:43 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2019-12-19 00:21:43 +0000 |
commit | ead014b8f9f344caa2ae1e0a337d5dba48645125 (patch) | |
tree | cc2cf53ad8ef9b4f1f36fa0edc9bbe983410b197 /java | |
parent | ddd27246ee988fd66d9264ca28d789d41516d53c (diff) | |
parent | a92fbb3b725605115ff3f9032866b2b0ea0b0b7a (diff) | |
download | build_soong-ead014b8f9f344caa2ae1e0a337d5dba48645125.tar.gz build_soong-ead014b8f9f344caa2ae1e0a337d5dba48645125.tar.bz2 build_soong-ead014b8f9f344caa2ae1e0a337d5dba48645125.zip |
Merge "Revert "Avoid duplicated classes for boot dex jars""
Diffstat (limited to 'java')
-rw-r--r-- | java/hiddenapi_singleton.go | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/java/hiddenapi_singleton.go b/java/hiddenapi_singleton.go index e9e4a45b..ad84cdea 100644 --- a/java/hiddenapi_singleton.go +++ b/java/hiddenapi_singleton.go @@ -16,7 +16,6 @@ package java import ( "fmt" - "strings" "android/soong/android" ) @@ -153,23 +152,11 @@ func stubFlagsRule(ctx android.SingletonContext) { // Collect dex jar paths for modules that had hiddenapi encode called on them. if h, ok := module.(hiddenAPIIntf); ok { if jar := h.bootDexJar(); jar != nil { - // Don't add multiple variants of the same library to bootDexJars, otherwise - // hiddenapi tool will complain about duplicated classes. Such multiple variants - // of the same library can happen when the library is included in one or more APEXes. - // TODO(b/146308764): remove this heuristic - if a, ok := module.(android.ApexModule); ok && android.InAnyApex(module.Name()) { - if a.AvailableFor("//apex_available:platform") && !a.IsForPlatform() { - // skip the apex variants if the jar is available for the platform - return - } - apexName := a.ApexName() - if strings.Contains(apexName, "test") { - // skip the if the jar is in test APEX - return - } - - if strings.Contains(apexName, "com.android.art") && apexName != "com.android.art.release" { - // skip the ART APEX variants other than com.android.art.release + // For a java lib included in an APEX, only take the one built for + // the platform variant, and skip the variants for APEXes. + // Otherwise, the hiddenapi tool will complain about duplicated classes + if a, ok := module.(android.ApexModule); ok { + if android.InAnyApex(module.Name()) && !a.IsForPlatform() { return } } |