aboutsummaryrefslogtreecommitdiff
path: root/androidmk
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2020-01-11 01:11:46 +0000
committerColin Cross <ccross@android.com>2020-01-11 01:11:46 +0000
commit988414c2cf6bfb868df7d402e0bf825d6fd44cc8 (patch)
tree79912c740318a967a9091285a5be7aece8fdcf6c /androidmk
parent47e4f9e1e8d46bb72958145edc830c625fbb5f8a (diff)
downloadsoong-988414c2cf6bfb868df7d402e0bf825d6fd44cc8.tar.gz
Sandbox soong_build by changing to root directory
This relands I12a0f907753fefd1997ab8b4ea2ac331234093cf along with a fix to blueprint for absolute paths. Store the current working directory and then change to the root directory so that all file accesses must go through helpers in the android package that properly track dependencies. Change-Id: I24ac485677aa102eec1a2521d16820da6ee1ae77 Fixes: 146437378 Test: m checkbuild Test: m OUT_DIR=/tmp/out nothing
Diffstat (limited to 'androidmk')
-rw-r--r--androidmk/Android.bp1
-rw-r--r--androidmk/androidmk/android.go10
2 files changed, 8 insertions, 3 deletions
diff --git a/androidmk/Android.bp b/androidmk/Android.bp
index 41100738c..70fc1f75c 100644
--- a/androidmk/Android.bp
+++ b/androidmk/Android.bp
@@ -41,7 +41,6 @@ bootstrap_go_package {
"androidmk-parser",
"blueprint-parser",
"bpfix-lib",
- "soong-android",
],
}
diff --git a/androidmk/androidmk/android.go b/androidmk/androidmk/android.go
index 0082d8b0b..88609849d 100644
--- a/androidmk/androidmk/android.go
+++ b/androidmk/androidmk/android.go
@@ -15,9 +15,9 @@
package androidmk
import (
- "android/soong/android"
mkparser "android/soong/androidmk/parser"
"fmt"
+ "sort"
"strings"
bpparser "github.com/google/blueprint/parser"
@@ -350,7 +350,13 @@ func splitAndAssign(ctx variableAssignmentContext, splitFunc listSplitFunc, name
return err
}
- for _, nameClassification := range android.SortedStringKeys(namesByClassification) {
+ var classifications []string
+ for classification := range namesByClassification {
+ classifications = append(classifications, classification)
+ }
+ sort.Strings(classifications)
+
+ for _, nameClassification := range classifications {
name := namesByClassification[nameClassification]
if component, ok := lists[nameClassification]; ok && !emptyList(component) {
err = setVariable(ctx.file, ctx.append, ctx.prefix, name, component, true)