diff --git a/apex/apex.go b/apex/apex.go index a67fe1ffb..dca55958b 100644 --- a/apex/apex.go +++ b/apex/apex.go @@ -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) diff --git a/dexpreopt/config.go b/dexpreopt/config.go index 888466a2f..8873b4ef7 100644 --- a/dexpreopt/config.go +++ b/dexpreopt/config.go @@ -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 diff --git a/java/boot_image.go b/java/boot_image.go index 25a4f17f4..a14940d6c 100644 --- a/java/boot_image.go +++ b/java/boot_image.go @@ -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