From a772ee4cb187e1ddad9bd57a19cf5a82167b73b4 Mon Sep 17 00:00:00 2001 From: Gurpreet Singh Date: Wed, 19 Oct 2022 15:25:49 +0000 Subject: [PATCH] Use fixed timestamps before performing api diff operation. The api diff files contain the timestamp of files which are being diffed. This results in different diffs getting generated everytime even if all the APIs are the same. In order to generate same diffs, fixed timestamps are assigned to the files being diffed before the diff operation. Bug: 238757360 Test: The builds passed and the api diff files contain the fixed timestamps. Change-Id: I89f88aa709b5a7a7f52d610b2f8ddf501712e529 --- build/mainline_modules_sdks.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/build/mainline_modules_sdks.py b/build/mainline_modules_sdks.py index 7c9b853..c1eb02d 100755 --- a/build/mainline_modules_sdks.py +++ b/build/mainline_modules_sdks.py @@ -303,6 +303,11 @@ def set_default_timestamp(base_dir, paths): p = os.path.join(base_dir, path) os.utime(p, (timestamp, timestamp)) +# set the timestamp of the file path to default_zip_time. +def set_default_timestamp_to_file(file_path): + timestamp = default_zip_time.timestamp() + os.utime(file_path, (timestamp, timestamp)) + @dataclasses.dataclass() class SnapshotBuilder: @@ -536,6 +541,8 @@ java_sdk_library_import {{ with zipfile.ZipFile(sdk_zip_file, "r") as zipObj: extracted_current_api = zipObj.extract( member=current_api, path=snapshots_dir) + set_default_timestamp_to_file(extracted_current_api) + set_default_timestamp_to_file(latest_api) # The diff tool has an exit code of 0, 1 or 2 depending on whether # it find no differences, some differences or an error (like missing # file). As 0 or 1 are both valid results this cannot use check=True