aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2021-07-14 00:08:12 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2021-07-14 00:08:12 +0000
commit5445c84f4d4c1f09fd13f7f1f8ec408380495299 (patch)
tree193ae3f99b53ef5e913dbea0e89a886ac4f13927
parentace3b7f0a2f728611409a7676326dcf41564a3b3 (diff)
parentd9e05750ba0f91f1a492ce95187237db859db887 (diff)
downloadsoong-5445c84f4d4c1f09fd13f7f1f8ec408380495299.tar.gz
Merge "Export paths for the snapshot modules"
-rw-r--r--cc/snapshot_prebuilt.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/cc/snapshot_prebuilt.go b/cc/snapshot_prebuilt.go
index fb89224f3..4f031ff96 100644
--- a/cc/snapshot_prebuilt.go
+++ b/cc/snapshot_prebuilt.go
@@ -264,6 +264,7 @@ var recoverySnapshotImageSingleton recoverySnapshotImage
func init() {
VendorSnapshotImageSingleton.Init(android.InitRegistrationContext)
recoverySnapshotImageSingleton.init(android.InitRegistrationContext)
+ android.RegisterMakeVarsProvider(pctx, snapshotMakeVarsProvider)
}
const (
@@ -383,6 +384,24 @@ var SnapshotInfoProvider = blueprint.NewMutatorProvider(SnapshotInfo{}, "deps")
var _ android.ImageInterface = (*snapshot)(nil)
+func snapshotMakeVarsProvider(ctx android.MakeVarsContext) {
+ snapshotSet := map[string]struct{}{}
+ ctx.VisitAllModules(func(m android.Module) {
+ if s, ok := m.(*snapshot); ok {
+ if _, ok := snapshotSet[s.Name()]; ok {
+ // arch variant generates duplicated modules
+ // skip this as we only need to know the path of the module.
+ return
+ }
+ snapshotSet[s.Name()] = struct{}{}
+ imageNameVersion := strings.Split(s.image.imageVariantName(ctx.DeviceConfig()), ".")
+ ctx.Strict(
+ strings.Join([]string{strings.ToUpper(imageNameVersion[0]), s.baseSnapshot.Version(), "SNAPSHOT_DIR"}, "_"),
+ ctx.ModuleDir(s))
+ }
+ })
+}
+
func vendorSnapshotFactory() android.Module {
return snapshotFactory(VendorSnapshotImageSingleton)
}