mainline_modules_sdks.py: Optimize snapshot build order

Previously, the snapshots would be built in the order in which the
build releases were defined. This change groups the snapshots with the
same build environment and builds them in sequence in order to minimize
the regeneration of the ninja files.

The test revealed that the produce_bundled_dist_for_build_release
method would call build_snapshots even if there were no bundled
snapshots needed which was a waste so that was also optimized as part
of this change.

Test: atest --host mainline_modules_sdks_test
      packages/modules/common/build/mainline_modules_sdks.sh
      pyformat -s 4 --force_quote_type double -i build/mainline_modules_sdks*.py
      /usr/bin/pylint --rcfile $ANDROID_BUILD_TOP/tools/repohooks/tools/pylintrc build/mainline_modules_sdks*.py
Change-Id: I5bb8d864a50318b4b5390a8e5a3601aa33c18fef
This commit is contained in:
Paul Duffin
2022-03-18 16:57:40 +00:00
parent ec1fdcdee4
commit b3805c1d35
2 changed files with 24 additions and 17 deletions

View File

@@ -300,17 +300,6 @@ class TestProduceDist(unittest.TestCase):
["current"],
["com.android.ipsec", "com.google.android.wifi"],
),
(
"S",
{
"SOONG_SDK_SNAPSHOT_TARGET_BUILD_RELEASE": "S"
},
["current"],
[
"com.android.art", "com.android.ipsec",
"com.google.android.wifi"
],
),
(
"latest",
{},
@@ -320,7 +309,6 @@ class TestProduceDist(unittest.TestCase):
"com.google.android.wifi"
],
),
('latest', {}, ['current'], []),
(
"legacy",
{},
@@ -330,6 +318,17 @@ class TestProduceDist(unittest.TestCase):
"com.google.android.wifi"
],
),
(
"S",
{
"SOONG_SDK_SNAPSHOT_TARGET_BUILD_RELEASE": "S"
},
["current"],
[
"com.android.art", "com.android.ipsec",
"com.google.android.wifi"
],
),
], snapshot_builder.snapshots)