Invoke soong_docs from the bootstrap Ninja file.
This makes soong_ui the only place where soong_build is invoked, thus
greatly simplifying the conceptual model of the build.
It comes with the slight limitation that now soong_docs (and queryview
and the JSON module graph) are not Make targets anymore, but I suppose
that's an acceptable loss.
The only place where someone depended on soong_docs from a Makefile is
removed in a separate change.
Test: Presubmits.
Change-Id: I3f9ac327725c15d84de725d05e3cdde1da3dcbe2
diff --git a/ui/build/config.go b/ui/build/config.go
index 2cd7d55..d5d03c3 100644
--- a/ui/build/config.go
+++ b/ui/build/config.go
@@ -50,6 +50,7 @@
jsonModuleGraph bool
bp2build bool
queryview bool
+ soongDocs bool
skipConfig bool
skipKati bool
skipKatiNinja bool
@@ -646,6 +647,8 @@
c.bp2build = true
} else if arg == "queryview" {
c.queryview = true
+ } else if arg == "soong_docs" {
+ c.soongDocs = true
} else {
if arg == "checkbuild" {
c.checkbuild = true
@@ -723,7 +726,7 @@
return true
}
- if !c.JsonModuleGraph() && !c.Bp2Build() && !c.Queryview() {
+ if !c.JsonModuleGraph() && !c.Bp2Build() && !c.Queryview() && !c.SoongDocs() {
// Command line was empty, the default Ninja target is built
return true
}
@@ -788,6 +791,10 @@
return shared.JoinPath(c.SoongOutDir(), ".bootstrap/bp2build_workspace_marker")
}
+func (c *configImpl) SoongDocsHtml() string {
+ return shared.JoinPath(c.SoongOutDir(), "docs/soong_build.html")
+}
+
func (c *configImpl) QueryviewMarkerFile() string {
return shared.JoinPath(c.SoongOutDir(), "queryview.marker")
}
@@ -833,6 +840,10 @@
return c.queryview
}
+func (c *configImpl) SoongDocs() bool {
+ return c.soongDocs
+}
+
func (c *configImpl) IsVerbose() bool {
return c.verbose
}