diff options
author | 2023-10-05 20:27:00 +0000 | |
---|---|---|
committer | 2023-10-05 20:27:00 +0000 | |
commit | 9eb4efa094419c3da79b74f279ef0fa8fc4dab96 (patch) | |
tree | 0f73045ad1806acf625637677b86d783a9bc57b0 | |
parent | 0b5a877f21d514a0a6fe2773a381f2ce701cdda7 (diff) | |
parent | 44215bc31d578e87b8b143385e755469f7a8546f (diff) |
Merge "Skip certain problematic deps" into main
-rw-r--r-- | android/bazel_paths.go | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/android/bazel_paths.go b/android/bazel_paths.go index 5db668e52..d272ec2db 100644 --- a/android/bazel_paths.go +++ b/android/bazel_paths.go @@ -452,12 +452,34 @@ func getOtherModuleLabel(ctx Bp2buildMutatorContext, dep, tag string, Label: ":" + dep + "__BP2BUILD__MISSING__DEP", } } - if markAsDep { + // Returns true if a dependency from the current module to the target module + // should be skipped; doing so is a hack to circumvent certain problematic + // scenarios that will be addressed in the future. + shouldSkipDep := func(dep string) bool { // Don't count dependencies of "libc". This is a hack to circumvent the // fact that, in a variantless build graph, "libc" has a dependency on itself. - if ctx.ModuleName() != "libc" { - ctx.AddDependency(ctx.Module(), Bp2buildDepTag, dep) + if ctx.ModuleName() == "libc" { + return true } + + // TODO: b/303307672: Dependencies on this module happen to "work" because + // there is a source file with the same name as this module in the + // same directory. We should remove this hack and enforce the underlying + // module of this name is the actual one used. + if dep == "mke2fs.conf" { + return true + } + + // TODO: b/303310285: Remove this special-casing once all dependencies of + // crtbegin_dynamic are convertible + if ctx.ModuleName() == "crtbegin_dynamic" { + return true + } + + return false + } + if markAsDep && !shouldSkipDep(dep) { + ctx.AddDependency(ctx.Module(), Bp2buildDepTag, dep) } if !convertedToBazel(ctx, m) { ctx.AddUnconvertedBp2buildDep(dep) |