diff --git a/build/mainline_modules_sdks.py b/build/mainline_modules_sdks.py index e708a18..6ef4e19 100755 --- a/build/mainline_modules_sdks.py +++ b/build/mainline_modules_sdks.py @@ -740,6 +740,18 @@ def create_producer(): ) +def aosp_to_google(module): + """Transform an AOSP module into a Google module""" + new_apex = aosp_to_google_name(module.apex) + # Create a copy of the AOSP module with the internal specific APEX name. + return dataclasses.replace(module, apex=new_apex) + + +def aosp_to_google_name(name): + """Transform an AOSP module name into a Google module name""" + return name.replace("com.android.", "com.google.android.") + + def filter_modules(modules): target_build_apps = os.environ.get("TARGET_BUILD_APPS") if target_build_apps: diff --git a/build/mainline_modules_sdks_test.py b/build/mainline_modules_sdks_test.py index 740e0af..3560367 100644 --- a/build/mainline_modules_sdks_test.py +++ b/build/mainline_modules_sdks_test.py @@ -14,6 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. """Unit tests for mainline_modules_sdks.py.""" +import re from pathlib import Path import os import tempfile @@ -33,15 +34,19 @@ class FakeSnapshotBuilder(mm.SnapshotBuilder): modules. """ + @staticmethod + def create_sdk_library_files(z, name): + z.writestr(f"sdk_library/public/{name}-removed.txt", "") + z.writestr(f"sdk_library/public/{name}.srcjar", "") + z.writestr(f"sdk_library/public/{name}-stubs.jar", "") + z.writestr(f"sdk_library/public/{name}.txt", "") + def create_snapshot_file(self, name, version): zip_file = Path(self.get_sdk_path(name, version)) with zipfile.ZipFile(zip_file, "w") as z: z.writestr("Android.bp", "") if name.endswith("-sdk"): - z.writestr("sdk_library/public/removed.txt", "") - z.writestr("sdk_library/public/source.srcjar", "") - z.writestr("sdk_library/public/lib.jar", "") - z.writestr("sdk_library/public/api.txt", "") + self.create_sdk_library_files(z, re.sub(r"-.*$", "", name)) def build_snapshots(self, build_release, sdk_versions, modules): # Create input file structure. @@ -67,6 +72,8 @@ class TestProduceDist(unittest.TestCase): modules = [ MAINLINE_MODULES_BY_APEX["com.android.art"], MAINLINE_MODULES_BY_APEX["com.android.ipsec"], + # Create a google specific module. + mm.aosp_to_google(MAINLINE_MODULES_BY_APEX["com.android.wifi"]), ] subprocess_runner = mm.SubprocessRunner() @@ -105,24 +112,31 @@ class TestProduceDist(unittest.TestCase): "mainline-sdks/current/com.android.art/sdk/art-module-sdk-current.zip", "mainline-sdks/current/com.android.art/test-exports/art-module-test-exports-current.zip", "mainline-sdks/current/com.android.ipsec/sdk/ipsec-module-sdk-current.zip", + "mainline-sdks/current/com.google.android.wifi/sdk/wifi-module-sdk-current.zip", # Build specific snapshots. "mainline-sdks/for-S-build/current/com.android.art/host-exports/art-module-host-exports-current.zip", "mainline-sdks/for-S-build/current/com.android.art/sdk/art-module-sdk-current.zip", "mainline-sdks/for-S-build/current/com.android.art/test-exports/art-module-test-exports-current.zip", "mainline-sdks/for-S-build/current/com.android.ipsec/sdk/ipsec-module-sdk-current.zip", + "mainline-sdks/for-S-build/current/com.google.android.wifi/sdk/wifi-module-sdk-current.zip", "mainline-sdks/for-latest-build/current/com.android.art/host-exports/art-module-host-exports-current.zip", "mainline-sdks/for-latest-build/current/com.android.art/sdk/art-module-sdk-current.zip", "mainline-sdks/for-latest-build/current/com.android.art/test-exports/art-module-test-exports-current.zip", "mainline-sdks/for-latest-build/current/com.android.ipsec/sdk/ipsec-module-sdk-current.zip", + "mainline-sdks/for-latest-build/current/com.google.android.wifi/sdk/wifi-module-sdk-current.zip", # Legacy stubs directory containing unpacked java_sdk_library artifacts. - "stubs/com.android.art/sdk_library/public/api.txt", - "stubs/com.android.art/sdk_library/public/lib.jar", - "stubs/com.android.art/sdk_library/public/removed.txt", - "stubs/com.android.art/sdk_library/public/source.srcjar", - "stubs/com.android.ipsec/sdk_library/public/api.txt", - "stubs/com.android.ipsec/sdk_library/public/lib.jar", - "stubs/com.android.ipsec/sdk_library/public/removed.txt", - "stubs/com.android.ipsec/sdk_library/public/source.srcjar", + "stubs/com.android.art/sdk_library/public/art-removed.txt", + "stubs/com.android.art/sdk_library/public/art-stubs.jar", + "stubs/com.android.art/sdk_library/public/art.srcjar", + "stubs/com.android.art/sdk_library/public/art.txt", + "stubs/com.android.ipsec/sdk_library/public/ipsec-removed.txt", + "stubs/com.android.ipsec/sdk_library/public/ipsec-stubs.jar", + "stubs/com.android.ipsec/sdk_library/public/ipsec.srcjar", + "stubs/com.android.ipsec/sdk_library/public/ipsec.txt", + "stubs/com.google.android.wifi/sdk_library/public/wifi-removed.txt", + "stubs/com.google.android.wifi/sdk_library/public/wifi-stubs.jar", + "stubs/com.google.android.wifi/sdk_library/public/wifi.srcjar", + "stubs/com.google.android.wifi/sdk_library/public/wifi.txt", ], sorted(files))