summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Lukacs T. Berki <lberki@google.com> 2021-03-08 16:34:09 +0100
committer Lukacs T. Berki <lberki@google.com> 2021-03-09 09:37:53 +0100
commit47a9d0cd9878414dd127b6abf63beb3cd00b5f41 (patch)
tree8c158277ebe28b98a5793dfff3fa96f1f1bd7f4e
parent89071b08c7c28a879a61200e11f5e890160ece26 (diff)
Really fix queryview.
In addition, make the Ninja command nicer by using backticks instead of backslash-quoting double quotes. Test: Manual: "m queryview" Change-Id: I5d6e1d41424e0229bfe08e2e7eaf2fb025ed48c2
-rw-r--r--android/queryview.go20
-rw-r--r--cmd/soong_build/main.go5
2 files changed, 15 insertions, 10 deletions
diff --git a/android/queryview.go b/android/queryview.go
index b940202e0..12d14dfb6 100644
--- a/android/queryview.go
+++ b/android/queryview.go
@@ -66,16 +66,20 @@ func generateBuildActionsForBazelConversion(ctx SingletonContext, converterMode
bazelQueryView := ctx.Rule(pctx, "bazelQueryView",
blueprint.RuleParams{
Command: fmt.Sprintf(
- "rm -rf ${outDir}/* && "+
- "BUILDER=\"%s\" && "+
- "cd $$(dirname \"$$BUILDER\") && "+
- "ABSBUILDER=\"$$PWD/$$(basename \"$$BUILDER\")\" && "+
- "cd / && "+
- "env -i \"$$ABSBUILDER\" --bazel_queryview_dir ${outDir} \"%s\" && "+
- "echo WORKSPACE: `cat %s` > ${outDir}/.queryview-depfile.d",
+ `rm -rf "${outDir}/"* && `+
+ `mkdir -p "${outDir}" && `+
+ `echo WORKSPACE: cat "%s" > "${outDir}/.queryview-depfile.d" && `+
+ `BUILDER="%s" && `+
+ `echo BUILDER=$$BUILDER && `+
+ `cd "$$(dirname "$$BUILDER")" && `+
+ `echo PWD=$$PWD && `+
+ `ABSBUILDER="$$PWD/$$(basename "$$BUILDER")" && `+
+ `echo ABSBUILDER=$$ABSBUILDER && `+
+ `cd / && `+
+ `env -i "$$ABSBUILDER" --bazel_queryview_dir "${outDir}" "%s"`,
+ moduleListFilePath.String(), // Use the contents of Android.bp.list as the depfile.
primaryBuilder.String(),
strings.Join(os.Args[1:], "\" \""),
- moduleListFilePath.String(), // Use the contents of Android.bp.list as the depfile.
),
CommandDeps: []string{primaryBuilder.String()},
Description: fmt.Sprintf(
diff --git a/cmd/soong_build/main.go b/cmd/soong_build/main.go
index d022f4993..4586f44a6 100644
--- a/cmd/soong_build/main.go
+++ b/cmd/soong_build/main.go
@@ -43,7 +43,7 @@ func init() {
flag.StringVar(&delveListen, "delve_listen", "", "Delve port to listen on for debugging")
flag.StringVar(&delvePath, "delve_path", "", "Path to Delve. Only used if --delve_listen is set")
flag.StringVar(&docFile, "soong_docs", "", "build documentation file to output")
- flag.StringVar(&bazelQueryViewDir, "bazel_queryview_dir", "", "path to the bazel queryview directory")
+ flag.StringVar(&bazelQueryViewDir, "bazel_queryview_dir", "", "path to the bazel queryview directory relative to --top")
}
func newNameResolver(config android.Config) *android.NameResolver {
@@ -150,7 +150,8 @@ func main() {
if bazelQueryViewDir != "" {
// Run the code-generation phase to convert BazelTargetModules to BUILD files.
codegenContext := bp2build.NewCodegenContext(configuration, *ctx, bp2build.QueryView)
- if err := createBazelQueryView(codegenContext, bazelQueryViewDir); err != nil {
+ absoluteQueryViewDir := shared.JoinPath(topDir, bazelQueryViewDir)
+ if err := createBazelQueryView(codegenContext, absoluteQueryViewDir); err != nil {
fmt.Fprintf(os.Stderr, "%s", err)
os.Exit(1)
}