diff options
author | Paul Duffin <paulduffin@google.com> | 2022-03-23 10:07:22 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-03-23 10:07:22 +0000 |
commit | 5c78b6d3d6cbf7e149cd81e9773c8590873eddc9 (patch) | |
tree | eda0410cd1d0cf4a515e7f5cd86df7366b318cb9 /build/mainline_modules_sdks.py | |
parent | 7172401c2e38219e67daaa2acfbb685e7d7ee9cc (diff) | |
parent | f319429eae68b96aa8dc11711221aea51cfccce9 (diff) | |
download | common-5c78b6d3d6cbf7e149cd81e9773c8590873eddc9.tar.gz |
Merge "Move populate_stubs into LEGACY BuildRelease" am: 2a5e1b5e4e am: f319429eae
Original change: https://android-review.googlesource.com/c/platform/packages/modules/common/+/2032131
Change-Id: I410cce669f16fac8ee6a30c08a7d312718b5a06b
Diffstat (limited to 'build/mainline_modules_sdks.py')
-rwxr-xr-x | build/mainline_modules_sdks.py | 54 |
1 files changed, 26 insertions, 28 deletions
diff --git a/build/mainline_modules_sdks.py b/build/mainline_modules_sdks.py index d2b53301..1abad2e1 100755 --- a/build/mainline_modules_sdks.py +++ b/build/mainline_modules_sdks.py @@ -349,11 +349,30 @@ def create_sdk_snapshots_in_soong(build_release: BuildRelease, producer.produce_dist_for_build_release(build_release, modules) -def reuse_latest_sdk_snapshots(build_release: BuildRelease, - producer: "SdkDistProducer", - modules: List["MainlineModule"]): - """Copies the snapshots from the latest build.""" - producer.populate_dist(build_release, build_release.sdk_versions, modules) +def create_legacy_dist_structures(build_release: BuildRelease, + producer: "SdkDistProducer", + modules: List["MainlineModule"]): + """Creates legacy file structures.""" + producer.produce_dist_for_build_release(build_release, modules) + + # Create the out/dist/mainline-sdks/stubs structure. + # TODO(b/199759953): Remove stubs once it is no longer used by gantry. + # Clear and populate the stubs directory. + dist_dir = producer.dist_dir + stubs_dir = os.path.join(dist_dir, "stubs") + shutil.rmtree(stubs_dir, ignore_errors=True) + + for module in modules: + apex = module.apex + dest_dir = os.path.join(dist_dir, "stubs", apex) + for sdk in module.sdks: + # If the sdk's name ends with -sdk then extract sdk library + # related files from its zip file. + if sdk.endswith("-sdk"): + sdk_file = producer.snapshot_builder.get_sdk_path( + sdk, "current") + extract_matching_files_from_zip(sdk_file, dest_dir, + sdk_library_files_pattern()) Q = BuildRelease( @@ -398,12 +417,11 @@ LEGACY_BUILD_RELEASE = BuildRelease( name="legacy", # There is no build release specific sub directory. sub_dir="", + # Create snapshots needed for legacy tools. + creator=create_legacy_dist_structures, # There are no build release specific environment variables to pass to # Soong. soong_env={}, - # Do not create new snapshots, simply use the snapshots generated for - # latest. - creator=reuse_latest_sdk_snapshots, ) @@ -594,32 +612,12 @@ class SdkDistProducer: f" build release") build_release.creator(build_release, self, filtered_modules) - self.populate_stubs(modules) - def produce_dist_for_build_release(self, build_release, modules): sdk_versions = build_release.sdk_versions self.snapshot_builder.build_snapshots(build_release, sdk_versions, modules) self.populate_dist(build_release, sdk_versions, modules) - def populate_stubs(self, modules): - # TODO(b/199759953): Remove stubs once it is no longer used by gantry. - # Clear and populate the stubs directory. - stubs_dir = os.path.join(self.dist_dir, "stubs") - shutil.rmtree(stubs_dir, ignore_errors=True) - - for module in modules: - apex = module.apex - dest_dir = os.path.join(self.dist_dir, "stubs", apex) - for sdk in module.sdks: - # If the sdk's name ends with -sdk then extract sdk library - # related files from its zip file. - if sdk.endswith("-sdk"): - sdk_file = self.snapshot_builder.get_sdk_path( - sdk, "current") - extract_matching_files_from_zip(sdk_file, dest_dir, - sdk_library_files_pattern()) - def populate_dist(self, build_release, sdk_versions, modules): build_release_dist_dir = os.path.join(self.mainline_sdks_dir, build_release.sub_dir) |