diff options
author | Paul Duffin <paulduffin@google.com> | 2022-07-18 13:18:23 +0000 |
---|---|---|
committer | Cherrypicker Worker <android-build-cherrypicker-worker@google.com> | 2022-07-19 09:28:56 +0000 |
commit | 43d56de71af3678a8ed3e115f3b43e2e7834d0a2 (patch) | |
tree | 3a3592c04e357e6cf1e86e35d55b7de66ae5ba1a | |
parent | 14910d7847ec17fa50506778e8713bc54c05102d (diff) | |
download | soong-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.go | 2 | ||||
-rw-r--r-- | sdk/update.go | 6 |
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, }) } |