diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2021-07-14 00:08:12 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2021-07-14 00:08:12 +0000 |
commit | 5445c84f4d4c1f09fd13f7f1f8ec408380495299 (patch) | |
tree | 193ae3f99b53ef5e913dbea0e89a886ac4f13927 | |
parent | ace3b7f0a2f728611409a7676326dcf41564a3b3 (diff) | |
parent | d9e05750ba0f91f1a492ce95187237db859db887 (diff) | |
download | soong-5445c84f4d4c1f09fd13f7f1f8ec408380495299.tar.gz |
Merge "Export paths for the snapshot modules"
-rw-r--r-- | cc/snapshot_prebuilt.go | 19 |
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) } |