aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Duffin <paulduffin@google.com>2022-07-18 13:18:23 +0000
committerCherrypicker Worker <android-build-cherrypicker-worker@google.com>2022-07-19 09:28:56 +0000
commit43d56de71af3678a8ed3e115f3b43e2e7834d0a2 (patch)
tree3a3592c04e357e6cf1e86e35d55b7de66ae5ba1a
parent14910d7847ec17fa50506778e8713bc54c05102d (diff)
downloadsoong-43d56de71af3678a8ed3e115f3b43e2e7834d0a2.tar.gz
Sort files in sdk snapshot zip to ensure consistent behavior
The order of the files in the sdk snapshot was stable but depended on how the sdk was built. If the snapshot was created directly then the files have one order, if it was created by merging in files from other zips then it has a different order. This change ensures files are in alphabetical order no matter how the snapshot zip is constructed. Bug: 232401814 Test: m media-module-sdk # Check the contents of the following zips to ensure that they are sorted # after this change. # out/soong/.intermediates/packages/modules/Media/apex/media-module-sdk/common_os/media-module-sdk-current.unmerged.zip # out/soong/mainline-sdks/media-module-sdk-current.zip Change-Id: Ie97e0119c07a1f34a2b1d3ea6895f0e76cd195a8 (cherry picked from commit 74f1dcd1abf7c3eb49585fa7a989482ecbc405bb) Merged-In: Ie97e0119c07a1f34a2b1d3ea6895f0e76cd195a8
-rw-r--r--sdk/java_sdk_test.go2
-rw-r--r--sdk/update.go6
2 files changed, 4 insertions, 4 deletions
diff --git a/sdk/java_sdk_test.go b/sdk/java_sdk_test.go
index 57c171fed..7ab5285c6 100644
--- a/sdk/java_sdk_test.go
+++ b/sdk/java_sdk_test.go
@@ -1339,9 +1339,9 @@ java_sdk_library_import {
.intermediates/myjavalib.stubs.source.module_lib/android_common/metalava/myjavalib.stubs.source.module_lib_removed.txt -> sdk_library/module-lib/myjavalib-removed.txt
`),
checkMergeZips(
+ ".intermediates/mysdk/common_os/tmp/sdk_library/module-lib/myjavalib_stub_sources.zip",
".intermediates/mysdk/common_os/tmp/sdk_library/public/myjavalib_stub_sources.zip",
".intermediates/mysdk/common_os/tmp/sdk_library/system/myjavalib_stub_sources.zip",
- ".intermediates/mysdk/common_os/tmp/sdk_library/module-lib/myjavalib_stub_sources.zip",
),
)
}
diff --git a/sdk/update.go b/sdk/update.go
index 995da741c..c555ddc7a 100644
--- a/sdk/update.go
+++ b/sdk/update.go
@@ -108,7 +108,7 @@ var (
mergeZips = pctx.AndroidStaticRule("SnapshotMergeZips",
blueprint.RuleParams{
- Command: `${config.MergeZipsCmd} $out $in`,
+ Command: `${config.MergeZipsCmd} -s $out $in`,
CommandDeps: []string{
"${config.MergeZipsCmd}",
},
@@ -481,7 +481,7 @@ be unnecessary as every module in the sdk already has its own licenses property.
// Copy the build number file into the snapshot.
builder.CopyToSnapshot(ctx.Config().BuildNumberFile(ctx), BUILD_NUMBER_FILE)
- filesToZip := builder.filesToZip
+ filesToZip := android.SortedUniquePaths(builder.filesToZip)
// zip them all
zipPath := fmt.Sprintf("%s%s.zip", ctx.ModuleName(), snapshotFileSuffix)
@@ -517,7 +517,7 @@ be unnecessary as every module in the sdk already has its own licenses property.
Description: outputDesc,
Rule: mergeZips,
Input: zipFile,
- Inputs: builder.zipsToMerge,
+ Inputs: android.SortedUniquePaths(builder.zipsToMerge),
Output: outputZipFile,
})
}