Make EqualModules a free function.
Bug: 377723687
Test: Unit tests and compare the ninja and mk files generated.
Change-Id: I7e00f09a15f2857f58bea70bcedc4798630a40bc
diff --git a/android/apex.go b/android/apex.go
index 4e92f44..39de6de 100644
--- a/android/apex.go
+++ b/android/apex.go
@@ -196,7 +196,7 @@
return false
}
- if !ctx.EqualModules(ctx.Module(), module) {
+ if !EqualModules(ctx.Module(), module) {
if moduleInfo, ok := OtherModuleProvider(ctx, module, DepInSameApexInfoProvider); ok {
if !moduleInfo.Checker.OutgoingDepIsInSameApex(depTag) {
return false
diff --git a/android/base_module_context.go b/android/base_module_context.go
index 5e05f54..d2404fd 100644
--- a/android/base_module_context.go
+++ b/android/base_module_context.go
@@ -34,8 +34,6 @@
blueprintBaseModuleContext() blueprint.BaseModuleContext
- EqualModules(m1, m2 Module) bool
-
// OtherModuleName returns the name of another Module. See BaseModuleContext.ModuleName for more information.
// It is intended for use inside the visit functions of Visit* and WalkDeps.
OtherModuleName(m blueprint.Module) string
@@ -271,8 +269,8 @@
return module
}
-func (b *baseModuleContext) EqualModules(m1, m2 Module) bool {
- return b.bp.EqualModules(getWrappedModule(m1), getWrappedModule(m2))
+func EqualModules(m1, m2 Module) bool {
+ return blueprint.EqualModules(getWrappedModule(m1), getWrappedModule(m2))
}
func (b *baseModuleContext) OtherModuleName(m blueprint.Module) string {
diff --git a/android/container.go b/android/container.go
index 5dc97d3..a5aab79 100644
--- a/android/container.go
+++ b/android/container.go
@@ -449,7 +449,7 @@
}
func getContainerModuleInfo(ctx ModuleContext, module Module) (ContainersInfo, bool) {
- if ctx.EqualModules(ctx.Module(), module) {
+ if EqualModules(ctx.Module(), module) {
return ctx.getContainersInfo(), true
}
diff --git a/android/module.go b/android/module.go
index d196481..85909b6 100644
--- a/android/module.go
+++ b/android/module.go
@@ -1665,7 +1665,7 @@
var checkbuildTarget Path
var uncheckedModule bool
var skipAndroidMkProcessing bool
- if ctx.EqualModules(m.module, module) {
+ if EqualModules(m.module, module) {
allInstalledFiles = append(allInstalledFiles, ctx.installFiles...)
checkbuildTarget = ctx.checkbuildTarget
uncheckedModule = ctx.uncheckedModule
@@ -2931,7 +2931,6 @@
OtherModuleProviderContext
Module() Module
GetOutputFiles() OutputFilesInfo
- EqualModules(m1, m2 Module) bool
}
// TODO(b/397766191): Change the signature to take ModuleProxy
@@ -2943,7 +2942,7 @@
}
if octx, ok := ctx.(OutputFilesProviderModuleContext); ok {
- if octx.EqualModules(octx.Module(), module) {
+ if EqualModules(octx.Module(), module) {
// It is the current module, we can access the srcs through interface
if sourceFileProducer, ok := module.(SourceFileProducer); ok {
return sourceFileProducer.Srcs(), nil
@@ -2971,7 +2970,7 @@
fromProperty := false
if mctx, isMctx := ctx.(OutputFilesProviderModuleContext); isMctx {
- if !mctx.EqualModules(mctx.Module(), module) {
+ if !EqualModules(mctx.Module(), module) {
outputFiles, _ = OtherModuleProvider(mctx, module, OutputFilesProvider)
} else {
outputFiles = mctx.GetOutputFiles()
diff --git a/android/prebuilt.go b/android/prebuilt.go
index 7273599..4a94c0b 100644
--- a/android/prebuilt.go
+++ b/android/prebuilt.go
@@ -412,7 +412,7 @@
if prebuiltMod != nil {
return false
}
- if ctx.EqualModules(parent, ctx.Module()) {
+ if EqualModules(parent, ctx.Module()) {
// First level: Only recurse if the module is found as a direct dependency.
sourceModDepFound = child == module
return sourceModDepFound
diff --git a/apex/apex.go b/apex/apex.go
index 4dd3d4c..0e4416b 100644
--- a/apex/apex.go
+++ b/apex/apex.go
@@ -1849,7 +1849,7 @@
return false
}
depName := ctx.OtherModuleName(child)
- if ctx.EqualModules(parent, ctx.Module()) {
+ if android.EqualModules(parent, ctx.Module()) {
switch depTag {
case sharedLibTag, jniLibTag:
isJniLib := depTag == jniLibTag
@@ -2891,7 +2891,7 @@
tag := ctx.OtherModuleDependencyTag(child)
- if ctx.EqualModules(parent, ctx.Module()) {
+ if android.EqualModules(parent, ctx.Module()) {
if !checkApexTag(tag) {
return false
}
diff --git a/cc/cc.go b/cc/cc.go
index 7122bce..9e373ad 100644
--- a/cc/cc.go
+++ b/cc/cc.go
@@ -3705,7 +3705,7 @@
func ShouldUseStubForApex(ctx android.ModuleContext, parent android.Module, dep android.ModuleProxy) bool {
inVendorOrProduct := false
bootstrap := false
- if ctx.EqualModules(ctx.Module(), parent) {
+ if android.EqualModules(ctx.Module(), parent) {
if linkable, ok := parent.(LinkableInterface); !ok {
ctx.ModuleErrorf("Not a Linkable module: %q", ctx.ModuleName())
} else {
diff --git a/dexpreopt/config.go b/dexpreopt/config.go
index c5cafb1..655ee9b 100644
--- a/dexpreopt/config.go
+++ b/dexpreopt/config.go
@@ -510,7 +510,7 @@
var dex2oatModule android.ModuleProxy
ctx.WalkDepsProxy(func(child, parent android.ModuleProxy) bool {
prebuiltInfo, isPrebuilt := android.OtherModuleProvider(ctx, child, android.PrebuiltModuleInfoProvider)
- if ctx.EqualModules(parent, ctx.Module()) && ctx.OtherModuleDependencyTag(child) == Dex2oatDepTag {
+ if android.EqualModules(parent, ctx.Module()) && ctx.OtherModuleDependencyTag(child) == Dex2oatDepTag {
// Found the source module, or prebuilt module that has replaced the source.
dex2oatModule = child
if isPrebuilt {
@@ -519,7 +519,7 @@
return true // Recurse to check if the source has a prebuilt dependency.
}
}
- if ctx.EqualModules(parent, dex2oatModule) && ctx.OtherModuleDependencyTag(child) == android.PrebuiltDepTag {
+ if android.EqualModules(parent, dex2oatModule) && ctx.OtherModuleDependencyTag(child) == android.PrebuiltDepTag {
if isPrebuilt && prebuiltInfo.UsePrebuilt {
dex2oatModule = child // Found a prebuilt that should be used.
}
diff --git a/java/app.go b/java/app.go
index 827b235..c2aa8a4 100644
--- a/java/app.go
+++ b/java/app.go
@@ -1175,7 +1175,7 @@
apkInApex := ctx.Module().(android.ApexModule).NotInPlatform()
childLinkable, _ := android.OtherModuleProvider(ctx, child, cc.LinkableInfoProvider)
parentIsLinkable := false
- if ctx.EqualModules(ctx.Module(), parent) {
+ if android.EqualModules(ctx.Module(), parent) {
parentLinkable, _ := ctx.Module().(cc.LinkableInterface)
parentIsLinkable = parentLinkable != nil
} else {