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

Commit 003e4b24 authored by Dan Willemsen's avatar Dan Willemsen Committed by android-build-merger
Browse files

Merge "Fix parsing of dangling dep check" am: 1eca921e am: daf345e9

am: 563cde94

Change-Id: I3fcfbc8d1e68cccb8666d59cd641f39f27c018de
parents 0d758e21 563cde94
Loading
Loading
Loading
Loading
+19 −2
Original line number Diff line number Diff line
@@ -16,10 +16,13 @@ package build

import (
	"bufio"
	"fmt"
	"path/filepath"
	"runtime"
	"sort"
	"strings"

	"android/soong/ui/status"
)

// Checks for files in the out directory that have a rule that depends on them but no rule to
@@ -37,6 +40,12 @@ func testForDanglingRules(ctx Context, config Config) {
	ctx.BeginTrace("test for dangling rules")
	defer ctx.EndTrace()

	ts := ctx.Status.StartTool()
	action := &status.Action{
		Description: "Test for dangling rules",
	}
	ts.StartAction(action)

	// Get a list of leaf nodes in the dependency graph from ninja
	executable := config.PrebuiltBuildTool("ninja")

@@ -83,10 +92,18 @@ func testForDanglingRules(ctx Context, config Config) {
	sort.Strings(danglingRulesList)

	if len(danglingRulesList) > 0 {
		ctx.Println("Dependencies in out found with no rule to create them:")
		sb := &strings.Builder{}
		title := "Dependencies in out found with no rule to create them:"
		fmt.Fprintln(sb, title)
		for _, dep := range danglingRulesList {
			ctx.Println("  ", dep)
			fmt.Fprintln(sb, "  ", dep)
		}
		ts.FinishAction(status.ActionResult{
			Action: action,
			Error:  fmt.Errorf(title),
			Output: sb.String(),
		})
		ctx.Fatal("stopping")
	}
	ts.FinishAction(status.ActionResult{Action: action})
}