Merge "Add sdk modules list in build artifacts root." am: b0f9a59a58

Original change: https://android-review.googlesource.com/c/platform/packages/modules/common/+/2625854

Change-Id: Ie69cb3523f817e8be2445860348c9d2e60d891fe
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Gurpreet Singh
2023-06-16 16:11:01 +00:00
committed by Automerger Merge Worker
2 changed files with 86 additions and 0 deletions

View File

@@ -1281,6 +1281,13 @@ class SdkDistProducer:
shutil.copy(sdk_gantry_metadata_json_path, shutil.copy(sdk_gantry_metadata_json_path,
sdk_dist_gantry_metadata_json_path) sdk_dist_gantry_metadata_json_path)
def dist_generate_sdk_supported_modules_file(self, modules):
sdk_modules_file = os.path.join(self.dist_dir, "sdk-modules.txt")
with open(sdk_modules_file, "w", encoding="utf8") as file:
for module in modules:
if module in MAINLINE_MODULES:
file.write(aosp_to_google_name(module.apex) + "\n")
def populate_unbundled_dist(self, build_release, modules, snapshots_dir): def populate_unbundled_dist(self, build_release, modules, snapshots_dir):
build_release_dist_dir = os.path.join(self.mainline_sdks_dir, build_release_dist_dir = os.path.join(self.mainline_sdks_dir,
build_release.sub_dir) build_release.sub_dir)
@@ -1544,6 +1551,7 @@ def main(args):
modules += PLATFORM_SDKS_FOR_MAINLINE modules += PLATFORM_SDKS_FOR_MAINLINE
producer = create_producer(args.tool_path) producer = create_producer(args.tool_path)
producer.dist_generate_sdk_supported_modules_file(modules)
producer.produce_dist(modules, build_releases) producer.produce_dist(modules, build_releases)

View File

@@ -419,6 +419,84 @@ class TestProduceDist(unittest.TestCase):
), ),
], snapshot_builder.snapshots) ], snapshot_builder.snapshots)
def test_generate_sdk_supported_modules_file(self):
subprocess_runner = mm.SubprocessRunner()
snapshot_builder = FakeSnapshotBuilder(
tool_path="path/to/mainline_modules_sdks.sh",
subprocess_runner=subprocess_runner,
out_dir=self.tmp_out_dir,
)
producer = mm.SdkDistProducer(
subprocess_runner=subprocess_runner,
snapshot_builder=snapshot_builder,
dist_dir=self.tmp_dist_dir,
)
producer = mm.SdkDistProducer(
subprocess_runner=subprocess_runner,
snapshot_builder=snapshot_builder,
dist_dir=self.tmp_dist_dir,
)
# Contains only sdk modules.
modules = [
MAINLINE_MODULES_BY_APEX["com.android.adservices"],
MAINLINE_MODULES_BY_APEX["com.android.art"],
MAINLINE_MODULES_BY_APEX["com.android.mediaprovider"],
]
producer.dist_generate_sdk_supported_modules_file(modules)
with open(os.path.join(self.tmp_dist_dir, "sdk-modules.txt"), "r",
encoding="utf8") as sdk_modules_file:
sdk_modules = sdk_modules_file.readlines()
self.assertTrue("com.google.android.adservices\n" in sdk_modules)
self.assertTrue("com.google.android.art\n" in sdk_modules)
self.assertTrue("com.google.android.mediaprovider\n" in sdk_modules)
# Contains only non-sdk modules.
modules = [
mm.MainlineModule(
apex="com.android.adbd",
sdks=[],
first_release="",
),
mm.MainlineModule(
apex="com.android.adbd",
sdks=[],
first_release="",
),
]
producer.dist_generate_sdk_supported_modules_file(modules)
with open(os.path.join(self.tmp_dist_dir, "sdk-modules.txt"), "r",
encoding="utf8") as sdk_modules_file:
sdk_modules = sdk_modules_file.readlines()
self.assertEqual(len(sdk_modules), 0)
# Contains mixture of sdk and non-sdk modules.
modules = [
MAINLINE_MODULES_BY_APEX["com.android.adservices"],
MAINLINE_MODULES_BY_APEX["com.android.mediaprovider"],
mm.MainlineModule(
apex="com.android.adbd",
sdks=[],
first_release="",
),
mm.MainlineModule(
apex="com.android.adbd",
sdks=[],
first_release="",
),
]
producer.dist_generate_sdk_supported_modules_file(modules)
with open(os.path.join(self.tmp_dist_dir, "sdk-modules.txt"), "r",
encoding="utf8") as sdk_modules_file:
sdk_modules = sdk_modules_file.readlines()
self.assertTrue("com.google.android.adservices\n" in sdk_modules)
self.assertTrue("com.google.android.mediaprovider\n" in sdk_modules)
self.assertFalse("com.google.android.adbd\n" in sdk_modules)
self.assertFalse("com.google.android.extservices\n" in sdk_modules)
def path_to_test_data(relative_path): def path_to_test_data(relative_path):
"""Construct a path to a test data file. """Construct a path to a test data file.