Cut the multiproduct_kati -> soong-ui-build dep.
This is done by moving SetupSignals() to its own little package.
There are a number of tiny little utility packages for soong_ui we might
be better of merging, but that's for another change (maybe)
Test: Presubmits.
Change-Id: I07b0ca98bfb8884ef4223d665e632183b9896a0d
diff --git a/cmd/multiproduct_kati/main.go b/cmd/multiproduct_kati/main.go
index 8bfa772..2846387 100644
--- a/cmd/multiproduct_kati/main.go
+++ b/cmd/multiproduct_kati/main.go
@@ -31,8 +31,8 @@
"syscall"
"time"
- "android/soong/ui/build"
"android/soong/ui/logger"
+ "android/soong/ui/signal"
"android/soong/ui/status"
"android/soong/ui/terminal"
"android/soong/ui/tracer"
@@ -127,12 +127,12 @@
}
type mpContext struct {
- Context context.Context
- Logger logger.Logger
- Status status.ToolStatus
- Tracer tracer.Tracer
+ Logger logger.Logger
+ Status status.ToolStatus
- LogsDir string
+ SoongUi string
+ MainOutDir string
+ MainLogsDir string
}
func detectTotalRAM() uint64 {
@@ -179,7 +179,7 @@
flag.Parse()
- ctx, cancel := context.WithCancel(context.Background())
+ _, cancel := context.WithCancel(context.Background())
defer cancel()
trace := tracer.New(log)
@@ -192,7 +192,7 @@
var failures failureCount
stat.AddOutput(&failures)
- build.SetupSignals(log, cancel, func() {
+ signal.SetupSignals(log, cancel, func() {
trace.Close()
log.Cleanup()
stat.Finish()
@@ -310,12 +310,11 @@
s.SetTotalActions(len(finalProductsList))
mpCtx := &mpContext{
- Context: ctx,
- Logger: log,
- Status: s,
- Tracer: trace,
-
- LogsDir: logsDir,
+ Logger: log,
+ Status: s,
+ SoongUi: soongUi,
+ MainOutDir: outputDir,
+ MainLogsDir: logsDir,
}
products := make(chan string, len(productsList))
@@ -337,7 +336,7 @@
if product == "" {
return
}
- runSoongUiForProduct(mpCtx, product, soongUi, outputDir)
+ runSoongUiForProduct(mpCtx, product)
}
}
}()
@@ -391,10 +390,10 @@
}
}
-func runSoongUiForProduct(mpctx *mpContext, product, soongUi, mainOutDir string) {
- outDir := filepath.Join(mainOutDir, product)
- logsDir := filepath.Join(mpctx.LogsDir, product)
- productZip := filepath.Join(mainOutDir, product+".zip")
+func runSoongUiForProduct(mpctx *mpContext, product string) {
+ outDir := filepath.Join(mpctx.MainOutDir, product)
+ logsDir := filepath.Join(mpctx.MainLogsDir, product)
+ productZip := filepath.Join(mpctx.MainOutDir, product+".zip")
consoleLogPath := filepath.Join(logsDir, "std.log")
if err := os.MkdirAll(outDir, 0777); err != nil {
@@ -429,7 +428,7 @@
args = append(args, "dist")
}
- cmd := exec.Command(soongUi, args...)
+ cmd := exec.Command(mpctx.SoongUi, args...)
cmd.Stdout = consoleLogWriter
cmd.Stderr = consoleLogWriter
cmd.Env = append(os.Environ(),