Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 44215bc3 authored by Chris Parsons's avatar Chris Parsons
Browse files

Skip certain problematic deps

These are hacks to unblock allowlist v2. See attached bugs.

Bug: 303307672
Bug: 303310285
Test: Manually tested to unblock `m nothing` with allowlist v2 on AOSP
Change-Id: I076a96134118106b44e105db98617ffb9f33bca5
parent 29c559b7
Loading
Loading
Loading
Loading
+25 −3
Original line number Diff line number Diff line
@@ -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)