Cleanup usages of Dex2oatDepTag
Creates a new deptag type for it so that it can implement the marker interfaces that will exclude it from being added to the APEX and from visibility enforcement. The latter is probably not an issue ATM because the dependencies are added after visibility checks are enforced but this code is undergoing lots of refactoring so that may change. Bug: 177892522 Test: m nothing Change-Id: Ibd167d557adec761a2e3eed78f4d334c40a04fb9
This commit is contained in:
@@ -29,7 +29,6 @@ import (
|
||||
"android/soong/android"
|
||||
"android/soong/bpf"
|
||||
"android/soong/cc"
|
||||
"android/soong/dexpreopt"
|
||||
prebuilt_etc "android/soong/etc"
|
||||
"android/soong/filesystem"
|
||||
"android/soong/java"
|
||||
@@ -1573,9 +1572,6 @@ func (a *apexBundle) WalkPayloadDeps(ctx android.ModuleContext, do android.Paylo
|
||||
if dt, ok := depTag.(dependencyTag); ok && !dt.payload {
|
||||
return false
|
||||
}
|
||||
if depTag == dexpreopt.Dex2oatDepTag {
|
||||
return false
|
||||
}
|
||||
|
||||
ai := ctx.OtherModuleProvider(child, android.ApexInfoProvider).(android.ApexInfo)
|
||||
externalDep := !android.InList(ctx.ModuleName(), ai.InApexes)
|
||||
|
@@ -352,9 +352,23 @@ func dex2oatModuleName(config android.Config) string {
|
||||
}
|
||||
}
|
||||
|
||||
var Dex2oatDepTag = struct {
|
||||
type dex2oatDependencyTag struct {
|
||||
blueprint.BaseDependencyTag
|
||||
}{}
|
||||
}
|
||||
|
||||
func (d dex2oatDependencyTag) ExcludeFromVisibilityEnforcement() {
|
||||
}
|
||||
|
||||
func (d dex2oatDependencyTag) ExcludeFromApexContents() {
|
||||
}
|
||||
|
||||
// Dex2oatDepTag represents the dependency onto the dex2oatd module. It is added to any module that
|
||||
// needs dexpreopting and so it makes no sense for it to be checked for visibility or included in
|
||||
// the apex.
|
||||
var Dex2oatDepTag = dex2oatDependencyTag{}
|
||||
|
||||
var _ android.ExcludeFromVisibilityEnforcementTag = Dex2oatDepTag
|
||||
var _ android.ExcludeFromApexContentsTag = Dex2oatDepTag
|
||||
|
||||
// RegisterToolDeps adds the necessary dependencies to binary modules for tools
|
||||
// that are required later when Get(Cached)GlobalSoongConfig is called. It
|
||||
|
@@ -96,10 +96,6 @@ func (i BootImageInfo) AndroidBootImageFilesByArchType() map[android.ArchType]an
|
||||
|
||||
func (b *BootImageModule) DepIsInSameApex(ctx android.BaseModuleContext, dep android.Module) bool {
|
||||
tag := ctx.OtherModuleDependencyTag(dep)
|
||||
if tag == dexpreopt.Dex2oatDepTag {
|
||||
// The dex2oat tool is only needed for building and is not required in the apex.
|
||||
return false
|
||||
}
|
||||
if android.IsMetaDependencyTag(tag) {
|
||||
// Cross-cutting metadata dependencies are metadata.
|
||||
return false
|
||||
|
Reference in New Issue
Block a user