From b01ac4b6ba89e13cbb47e9d22619bf015270ee26 Mon Sep 17 00:00:00 2001 From: Paul Duffin Date: Tue, 24 May 2022 20:10:05 +0000 Subject: [PATCH] Remove support for generating versioned snapshots Previously, the code for selecting specific versions of sdk snapshots was removed (along with the uses_sdks property). That makes versioned snapshots useless so this change removes all the code and tests that generated those versioned snapshots. Bug: 232546567 Test: m nothing packages/modules/common/build/mainline_modules_sdks.sh Change-Id: Ib6d1b72bc8399fbb39075494ae37da92f4b28d03 --- sdk/bootclasspath_fragment_sdk_test.go | 140 +-- sdk/bp.go | 12 +- sdk/cc_sdk_test.go | 838 +----------------- sdk/compat_config_sdk_test.go | 18 +- sdk/exports.go | 2 +- sdk/exports_test.go | 19 +- sdk/java_sdk_test.go | 606 +------------ sdk/license_sdk_test.go | 40 +- sdk/member_trait_test.go | 21 +- sdk/sdk.go | 34 +- sdk/sdk_test.go | 198 +---- ...systemserverclasspath_fragment_sdk_test.go | 48 +- sdk/testing.go | 66 +- sdk/update.go | 319 +------ 14 files changed, 119 insertions(+), 2242 deletions(-) diff --git a/sdk/bootclasspath_fragment_sdk_test.go b/sdk/bootclasspath_fragment_sdk_test.go index 2dacdb55c..a60039ac6 100644 --- a/sdk/bootclasspath_fragment_sdk_test.go +++ b/sdk/bootclasspath_fragment_sdk_test.go @@ -124,7 +124,7 @@ func TestSnapshotWithBootclasspathFragment_ImageName(t *testing.T) { preparerForSnapshot := fixtureAddPrebuiltApexForBootclasspathFragment("com.android.art", "mybootclasspathfragment") CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. prebuilt_bootclasspath_fragment { @@ -151,41 +151,6 @@ java_import { apex_available: ["com.android.art"], jars: ["java_boot_libs/snapshot/jars/are/invalid/mybootlib.jar"], } -`), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -prebuilt_bootclasspath_fragment { - name: "mysdk_mybootclasspathfragment@current", - sdk_member_name: "mybootclasspathfragment", - visibility: ["//visibility:public"], - apex_available: ["com.android.art"], - image_name: "art", - contents: ["mysdk_mybootlib@current"], - hidden_api: { - annotation_flags: "hiddenapi/annotation-flags.csv", - metadata: "hiddenapi/metadata.csv", - index: "hiddenapi/index.csv", - signature_patterns: "hiddenapi/signature-patterns.csv", - filtered_stub_flags: "hiddenapi/filtered-stub-flags.csv", - filtered_flags: "hiddenapi/filtered-flags.csv", - }, -} - -java_import { - name: "mysdk_mybootlib@current", - sdk_member_name: "mybootlib", - visibility: ["//visibility:public"], - apex_available: ["com.android.art"], - jars: ["java_boot_libs/snapshot/jars/are/invalid/mybootlib.jar"], -} - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - bootclasspath_fragments: ["mysdk_mybootclasspathfragment@current"], - java_boot_libs: ["mysdk_mybootlib@current"], -} `), checkAllCopyRules(` .intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/annotation-flags.csv -> hiddenapi/annotation-flags.csv @@ -317,7 +282,7 @@ func TestSnapshotWithBootClasspathFragment_Contents(t *testing.T) { preparerForSnapshot := fixtureAddPrebuiltApexForBootclasspathFragment("myapex", "mybootclasspathfragment") CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. prebuilt_bootclasspath_fragment { @@ -400,103 +365,6 @@ java_sdk_library_import { removed_api: "sdk_library/public/mycoreplatform-removed.txt", sdk_version: "current", }, -} - `), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -prebuilt_bootclasspath_fragment { - name: "mysdk_mybootclasspathfragment@current", - sdk_member_name: "mybootclasspathfragment", - visibility: ["//visibility:public"], - apex_available: ["myapex"], - contents: [ - "mysdk_mybootlib@current", - "mysdk_myothersdklibrary@current", - ], - api: { - stub_libs: ["mysdk_mysdklibrary@current"], - }, - core_platform_api: { - stub_libs: ["mysdk_mycoreplatform@current"], - }, - hidden_api: { - annotation_flags: "hiddenapi/annotation-flags.csv", - metadata: "hiddenapi/metadata.csv", - index: "hiddenapi/index.csv", - signature_patterns: "hiddenapi/signature-patterns.csv", - filtered_stub_flags: "hiddenapi/filtered-stub-flags.csv", - filtered_flags: "hiddenapi/filtered-flags.csv", - }, -} - -java_import { - name: "mysdk_mybootlib@current", - sdk_member_name: "mybootlib", - visibility: ["//visibility:public"], - apex_available: ["myapex"], - jars: ["java_boot_libs/snapshot/jars/are/invalid/mybootlib.jar"], - permitted_packages: ["mybootlib"], -} - -java_sdk_library_import { - name: "mysdk_myothersdklibrary@current", - sdk_member_name: "myothersdklibrary", - visibility: ["//visibility:public"], - apex_available: ["myapex"], - shared_library: true, - compile_dex: true, - permitted_packages: ["myothersdklibrary"], - public: { - jars: ["sdk_library/public/myothersdklibrary-stubs.jar"], - stub_srcs: ["sdk_library/public/myothersdklibrary_stub_sources"], - current_api: "sdk_library/public/myothersdklibrary.txt", - removed_api: "sdk_library/public/myothersdklibrary-removed.txt", - sdk_version: "current", - }, -} - -java_sdk_library_import { - name: "mysdk_mysdklibrary@current", - sdk_member_name: "mysdklibrary", - visibility: ["//visibility:public"], - apex_available: ["myapex"], - shared_library: false, - public: { - jars: ["sdk_library/public/mysdklibrary-stubs.jar"], - stub_srcs: ["sdk_library/public/mysdklibrary_stub_sources"], - current_api: "sdk_library/public/mysdklibrary.txt", - removed_api: "sdk_library/public/mysdklibrary-removed.txt", - sdk_version: "current", - }, -} - -java_sdk_library_import { - name: "mysdk_mycoreplatform@current", - sdk_member_name: "mycoreplatform", - visibility: ["//visibility:public"], - apex_available: ["myapex"], - shared_library: true, - compile_dex: true, - public: { - jars: ["sdk_library/public/mycoreplatform-stubs.jar"], - stub_srcs: ["sdk_library/public/mycoreplatform_stub_sources"], - current_api: "sdk_library/public/mycoreplatform.txt", - removed_api: "sdk_library/public/mycoreplatform-removed.txt", - sdk_version: "current", - }, -} - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - bootclasspath_fragments: ["mysdk_mybootclasspathfragment@current"], - java_boot_libs: ["mysdk_mybootlib@current"], - java_sdk_libs: [ - "mysdk_myothersdklibrary@current", - "mysdk_mysdklibrary@current", - "mysdk_mycoreplatform@current", - ], } `), checkAllCopyRules(` @@ -630,7 +498,7 @@ func TestSnapshotWithBootClasspathFragment_Fragments(t *testing.T) { preparerForSnapshot := fixtureAddPrebuiltApexForBootclasspathFragment("myapex", "mybootclasspathfragment") CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. prebuilt_bootclasspath_fragment { @@ -828,7 +696,7 @@ func TestSnapshotWithBootclasspathFragment_HiddenAPI(t *testing.T) { preparerForSnapshot := fixtureAddPrebuiltApexForBootclasspathFragment("myapex", "mybootclasspathfragment") CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. prebuilt_bootclasspath_fragment { diff --git a/sdk/bp.go b/sdk/bp.go index e2dace8f9..7ff85a121 100644 --- a/sdk/bp.go +++ b/sdk/bp.go @@ -298,15 +298,15 @@ func (t identityTransformation) transformModule(module *bpModule) *bpModule { return module } -func (t identityTransformation) transformPropertySetBeforeContents(name string, propertySet *bpPropertySet, tag android.BpPropertyTag) (*bpPropertySet, android.BpPropertyTag) { +func (t identityTransformation) transformPropertySetBeforeContents(_ string, propertySet *bpPropertySet, tag android.BpPropertyTag) (*bpPropertySet, android.BpPropertyTag) { return propertySet, tag } -func (t identityTransformation) transformPropertySetAfterContents(name string, propertySet *bpPropertySet, tag android.BpPropertyTag) (*bpPropertySet, android.BpPropertyTag) { +func (t identityTransformation) transformPropertySetAfterContents(_ string, propertySet *bpPropertySet, tag android.BpPropertyTag) (*bpPropertySet, android.BpPropertyTag) { return propertySet, tag } -func (t identityTransformation) transformProperty(name string, value interface{}, tag android.BpPropertyTag) (interface{}, android.BpPropertyTag) { +func (t identityTransformation) transformProperty(_ string, value interface{}, tag android.BpPropertyTag) (interface{}, android.BpPropertyTag) { return value, tag } @@ -332,7 +332,7 @@ func (t deepCopyTransformation) transformModule(module *bpModule) *bpModule { return &moduleCopy } -func (t deepCopyTransformation) transformPropertySetBeforeContents(name string, propertySet *bpPropertySet, tag android.BpPropertyTag) (*bpPropertySet, android.BpPropertyTag) { +func (t deepCopyTransformation) transformPropertySetBeforeContents(_ string, propertySet *bpPropertySet, tag android.BpPropertyTag) (*bpPropertySet, android.BpPropertyTag) { // Create a shallow copy of the properties map. Any mutable property values will be copied by the // transformer. propertiesCopy := make(map[string]interface{}) @@ -354,7 +354,7 @@ func (t deepCopyTransformation) transformPropertySetBeforeContents(name string, }, tag } -func (t deepCopyTransformation) transformProperty(name string, value interface{}, tag android.BpPropertyTag) (interface{}, android.BpPropertyTag) { +func (t deepCopyTransformation) transformProperty(_ string, value interface{}, tag android.BpPropertyTag) (interface{}, android.BpPropertyTag) { // Copy string slice, otherwise return value. if values, ok := value.([]string); ok { valuesCopy := make([]string, len(values)) @@ -372,7 +372,7 @@ type bpFile struct { order []*bpModule } -// Add a module. +// AddModule adds a module to this. // // The module must have had its "name" property set to a string value that // is unique within this file. diff --git a/sdk/cc_sdk_test.go b/sdk/cc_sdk_test.go index a4c7a8559..265579aa1 100644 --- a/sdk/cc_sdk_test.go +++ b/sdk/cc_sdk_test.go @@ -120,7 +120,7 @@ func TestSdkCompileMultilibOverride(t *testing.T) { `) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library_shared { @@ -144,48 +144,6 @@ cc_prebuilt_library_shared { }, }, } -`), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -cc_prebuilt_library_shared { - name: "mysdk_sdkmember@current", - sdk_member_name: "sdkmember", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - host_supported: true, - installable: false, - stl: "none", - compile_multilib: "64", - target: { - host: { - enabled: false, - }, - android_arm64: { - srcs: ["android/arm64/lib/sdkmember.so"], - }, - linux_glibc_x86_64: { - enabled: true, - srcs: ["linux_glibc/x86_64/lib/sdkmember.so"], - }, - }, -} - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - host_supported: true, - compile_multilib: "64", - native_shared_libs: ["mysdk_sdkmember@current"], - target: { - host: { - enabled: false, - }, - linux_glibc_x86_64: { - enabled: true, - }, - }, -} `), checkAllCopyRules(` .intermediates/sdkmember/android_arm64_armv8-a_shared/sdkmember.so -> android/arm64/lib/sdkmember.so @@ -265,7 +223,7 @@ func TestSnapshotWithObject(t *testing.T) { `) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_object { @@ -288,37 +246,6 @@ cc_prebuilt_object { }, }, } -`), - // Make sure that the generated sdk_snapshot uses the native_objects property. - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -cc_prebuilt_object { - name: "mysdk_crtobj@current", - sdk_member_name: "crtobj", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - stl: "none", - compile_multilib: "both", - system_shared_libs: [], - sanitize: { - never: true, - }, - arch: { - arm64: { - srcs: ["arm64/lib/crtobj.o"], - }, - arm: { - srcs: ["arm/lib/crtobj.o"], - }, - }, -} - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - native_objects: ["mysdk_crtobj@current"], -} `), checkAllCopyRules(` .intermediates/crtobj/android_arm64_armv8-a/crtobj.o -> arm64/lib/crtobj.o @@ -403,7 +330,7 @@ func TestSnapshotWithCcExportGeneratedHeaders(t *testing.T) { errorHandler := android.FixtureExpectsAtLeastOneErrorMatchingPattern(`module source path "snapshot/include_gen/generated_foo/gen/protos" does not exist`) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library_shared { @@ -476,7 +403,7 @@ func TestSnapshotWithCcSharedLibraryCommonProperties(t *testing.T) { `) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library_shared { @@ -535,7 +462,7 @@ func TestSnapshotWithCcBinary(t *testing.T) { `) CheckSnapshot(t, result, "mymodule_exports", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_binary { @@ -553,33 +480,6 @@ cc_prebuilt_binary { }, }, } -`), - // Make sure that the generated sdk_snapshot uses the native_binaries property. - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -cc_prebuilt_binary { - name: "mymodule_exports_mynativebinary@current", - sdk_member_name: "mynativebinary", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - installable: false, - compile_multilib: "both", - arch: { - arm64: { - srcs: ["arm64/bin/mynativebinary"], - }, - arm: { - srcs: ["arm/bin/mynativebinary"], - }, - }, -} - -module_exports_snapshot { - name: "mymodule_exports@current", - visibility: ["//visibility:public"], - native_binaries: ["mymodule_exports_mynativebinary@current"], -} `), checkAllCopyRules(` .intermediates/mynativebinary/android_arm64_armv8-a/mynativebinary -> arm64/bin/mynativebinary @@ -620,7 +520,7 @@ func TestMultipleHostOsTypesSnapshotWithCcBinary(t *testing.T) { `) CheckSnapshot(t, result, "myexports", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_binary { @@ -655,68 +555,6 @@ cc_prebuilt_binary { }, }, } -`), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -cc_prebuilt_binary { - name: "myexports_mynativebinary@current", - sdk_member_name: "mynativebinary", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - device_supported: false, - host_supported: true, - installable: false, - stl: "none", - target: { - host: { - enabled: false, - }, - linux_glibc: { - compile_multilib: "both", - }, - linux_glibc_x86_64: { - enabled: true, - srcs: ["linux_glibc/x86_64/bin/mynativebinary"], - }, - linux_glibc_x86: { - enabled: true, - srcs: ["linux_glibc/x86/bin/mynativebinary"], - }, - windows: { - compile_multilib: "64", - }, - windows_x86_64: { - enabled: true, - srcs: ["windows/x86_64/bin/mynativebinary.exe"], - }, - }, -} - -module_exports_snapshot { - name: "myexports@current", - visibility: ["//visibility:public"], - device_supported: false, - host_supported: true, - native_binaries: ["myexports_mynativebinary@current"], - target: { - windows: { - compile_multilib: "64", - }, - host: { - enabled: false, - }, - linux_glibc_x86_64: { - enabled: true, - }, - linux_glibc_x86: { - enabled: true, - }, - windows_x86_64: { - enabled: true, - }, - }, -} `), checkAllCopyRules(` .intermediates/mynativebinary/linux_glibc_x86_64/mynativebinary -> linux_glibc/x86_64/bin/mynativebinary @@ -780,7 +618,7 @@ func TestSnapshotWithSingleHostOsType(t *testing.T) { `) CheckSnapshot(t, result, "myexports", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_binary { @@ -822,69 +660,6 @@ cc_prebuilt_library_shared { }, }, } -`), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -cc_prebuilt_binary { - name: "myexports_mynativebinary@current", - sdk_member_name: "mynativebinary", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - device_supported: false, - host_supported: true, - installable: false, - stl: "none", - compile_multilib: "64", - target: { - host: { - enabled: false, - }, - linux_bionic_x86_64: { - enabled: true, - srcs: ["x86_64/bin/mynativebinary"], - }, - }, -} - -cc_prebuilt_library_shared { - name: "myexports_mynativelib@current", - sdk_member_name: "mynativelib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - device_supported: false, - host_supported: true, - installable: false, - stl: "none", - compile_multilib: "64", - target: { - host: { - enabled: false, - }, - linux_bionic_x86_64: { - enabled: true, - srcs: ["x86_64/lib/mynativelib.so"], - }, - }, -} - -module_exports_snapshot { - name: "myexports@current", - visibility: ["//visibility:public"], - device_supported: false, - host_supported: true, - compile_multilib: "64", - native_binaries: ["myexports_mynativebinary@current"], - native_shared_libs: ["myexports_mynativelib@current"], - target: { - host: { - enabled: false, - }, - linux_bionic_x86_64: { - enabled: true, - }, - }, -} `), checkAllCopyRules(` .intermediates/mynativebinary/linux_bionic_x86_64/mynativebinary -> x86_64/bin/mynativebinary @@ -918,7 +693,7 @@ func TestSnapshotWithCcStaticNocrtBinary(t *testing.T) { `) CheckSnapshot(t, result, "mymodule_exports", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_binary { @@ -946,55 +721,6 @@ cc_prebuilt_binary { }, }, } -`), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -cc_prebuilt_binary { - name: "mymodule_exports_linker@current", - sdk_member_name: "linker", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - device_supported: false, - host_supported: true, - installable: false, - stl: "none", - compile_multilib: "both", - static_executable: true, - nocrt: true, - target: { - host: { - enabled: false, - }, - linux_glibc_x86_64: { - enabled: true, - srcs: ["x86_64/bin/linker"], - }, - linux_glibc_x86: { - enabled: true, - srcs: ["x86/bin/linker"], - }, - }, -} - -module_exports_snapshot { - name: "mymodule_exports@current", - visibility: ["//visibility:public"], - device_supported: false, - host_supported: true, - native_binaries: ["mymodule_exports_linker@current"], - target: { - host: { - enabled: false, - }, - linux_glibc_x86_64: { - enabled: true, - }, - linux_glibc_x86: { - enabled: true, - }, - }, -} `), checkAllCopyRules(` .intermediates/linker/linux_glibc_x86_64/linker -> x86_64/bin/linker @@ -1026,7 +752,7 @@ func TestSnapshotWithCcSharedLibrary(t *testing.T) { `) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library_shared { @@ -1127,7 +853,7 @@ func TestSnapshotWithCcSharedLibrarySharedLibs(t *testing.T) { `) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library_shared { @@ -1224,7 +950,7 @@ func TestHostSnapshotWithCcSharedLibrary(t *testing.T) { `) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library_shared { @@ -1254,57 +980,6 @@ cc_prebuilt_library_shared { }, }, } -`), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -cc_prebuilt_library_shared { - name: "mysdk_mynativelib@current", - sdk_member_name: "mynativelib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - device_supported: false, - host_supported: true, - installable: false, - sdk_version: "minimum", - stl: "none", - compile_multilib: "both", - export_include_dirs: ["include/myinclude"], - target: { - host: { - enabled: false, - }, - linux_glibc_x86_64: { - enabled: true, - srcs: ["x86_64/lib/mynativelib.so"], - export_include_dirs: ["x86_64/include_gen/mynativelib/linux_glibc_x86_64_shared/gen/aidl"], - }, - linux_glibc_x86: { - enabled: true, - srcs: ["x86/lib/mynativelib.so"], - export_include_dirs: ["x86/include_gen/mynativelib/linux_glibc_x86_shared/gen/aidl"], - }, - }, -} - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - device_supported: false, - host_supported: true, - native_shared_libs: ["mysdk_mynativelib@current"], - target: { - host: { - enabled: false, - }, - linux_glibc_x86_64: { - enabled: true, - }, - linux_glibc_x86: { - enabled: true, - }, - }, -} `), checkAllCopyRules(` myinclude/Test.h -> include/myinclude/Test.h @@ -1351,7 +1026,7 @@ func TestMultipleHostOsTypesSnapshotWithCcSharedLibrary(t *testing.T) { `) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library_shared { @@ -1386,68 +1061,6 @@ cc_prebuilt_library_shared { }, }, } -`), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -cc_prebuilt_library_shared { - name: "mysdk_mynativelib@current", - sdk_member_name: "mynativelib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - device_supported: false, - host_supported: true, - installable: false, - stl: "none", - target: { - host: { - enabled: false, - }, - linux_glibc: { - compile_multilib: "both", - }, - linux_glibc_x86_64: { - enabled: true, - srcs: ["linux_glibc/x86_64/lib/mynativelib.so"], - }, - linux_glibc_x86: { - enabled: true, - srcs: ["linux_glibc/x86/lib/mynativelib.so"], - }, - windows: { - compile_multilib: "64", - }, - windows_x86_64: { - enabled: true, - srcs: ["windows/x86_64/lib/mynativelib.dll"], - }, - }, -} - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - device_supported: false, - host_supported: true, - native_shared_libs: ["mysdk_mynativelib@current"], - target: { - windows: { - compile_multilib: "64", - }, - host: { - enabled: false, - }, - linux_glibc_x86_64: { - enabled: true, - }, - linux_glibc_x86: { - enabled: true, - }, - windows_x86_64: { - enabled: true, - }, - }, -} `), checkAllCopyRules(` .intermediates/mynativelib/linux_glibc_x86_64_shared/mynativelib.so -> linux_glibc/x86_64/lib/mynativelib.so @@ -1479,7 +1092,7 @@ func TestSnapshotWithCcStaticLibrary(t *testing.T) { `) CheckSnapshot(t, result, "myexports", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library_static { @@ -1542,7 +1155,7 @@ func TestHostSnapshotWithCcStaticLibrary(t *testing.T) { `) CheckSnapshot(t, result, "myexports", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library_static { @@ -1571,56 +1184,6 @@ cc_prebuilt_library_static { }, }, } -`), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -cc_prebuilt_library_static { - name: "myexports_mynativelib@current", - sdk_member_name: "mynativelib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - device_supported: false, - host_supported: true, - installable: false, - stl: "none", - compile_multilib: "both", - export_include_dirs: ["include/myinclude"], - target: { - host: { - enabled: false, - }, - linux_glibc_x86_64: { - enabled: true, - srcs: ["x86_64/lib/mynativelib.a"], - export_include_dirs: ["x86_64/include_gen/mynativelib/linux_glibc_x86_64_static/gen/aidl"], - }, - linux_glibc_x86: { - enabled: true, - srcs: ["x86/lib/mynativelib.a"], - export_include_dirs: ["x86/include_gen/mynativelib/linux_glibc_x86_static/gen/aidl"], - }, - }, -} - -module_exports_snapshot { - name: "myexports@current", - visibility: ["//visibility:public"], - device_supported: false, - host_supported: true, - native_static_libs: ["myexports_mynativelib@current"], - target: { - host: { - enabled: false, - }, - linux_glibc_x86_64: { - enabled: true, - }, - linux_glibc_x86: { - enabled: true, - }, - }, -} `), checkAllCopyRules(` myinclude/Test.h -> include/myinclude/Test.h @@ -1656,7 +1219,7 @@ func TestSnapshotWithCcLibrary(t *testing.T) { `) CheckSnapshot(t, result, "myexports", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library { @@ -1687,46 +1250,6 @@ cc_prebuilt_library { }, }, } -`), - // Make sure that the generated sdk_snapshot uses the native_libs property. - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -cc_prebuilt_library { - name: "myexports_mynativelib@current", - sdk_member_name: "mynativelib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - installable: false, - vendor_available: true, - stl: "none", - compile_multilib: "both", - export_include_dirs: ["include/myinclude"], - arch: { - arm64: { - static: { - srcs: ["arm64/lib/mynativelib.a"], - }, - shared: { - srcs: ["arm64/lib/mynativelib.so"], - }, - }, - arm: { - static: { - srcs: ["arm/lib/mynativelib.a"], - }, - shared: { - srcs: ["arm/lib/mynativelib.so"], - }, - }, - }, -} - -module_exports_snapshot { - name: "myexports@current", - visibility: ["//visibility:public"], - native_libs: ["myexports_mynativelib@current"], -} `), checkAllCopyRules(` myinclude/Test.h -> include/myinclude/Test.h @@ -1772,7 +1295,7 @@ func TestSnapshotSameLibraryWithNativeLibsAndNativeSharedLib(t *testing.T) { `) CheckSnapshot(t, result, "myexports", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library { @@ -1868,7 +1391,7 @@ func TestSnapshotSameLibraryWithAndroidNativeLibsAndHostNativeSharedLib(t *testi `) CheckSnapshot(t, result, "myexports", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library { @@ -1994,7 +1517,7 @@ func TestHostSnapshotWithMultiLib64(t *testing.T) { `) CheckSnapshot(t, result, "myexports", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library_static { @@ -2020,51 +1543,6 @@ cc_prebuilt_library_static { }, }, } -`), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -cc_prebuilt_library_static { - name: "myexports_mynativelib@current", - sdk_member_name: "mynativelib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - device_supported: false, - host_supported: true, - installable: false, - stl: "none", - compile_multilib: "64", - export_include_dirs: [ - "include/myinclude", - "include_gen/mynativelib/linux_glibc_x86_64_static/gen/aidl", - ], - target: { - host: { - enabled: false, - }, - linux_glibc_x86_64: { - enabled: true, - srcs: ["x86_64/lib/mynativelib.a"], - }, - }, -} - -module_exports_snapshot { - name: "myexports@current", - visibility: ["//visibility:public"], - device_supported: false, - host_supported: true, - compile_multilib: "64", - native_static_libs: ["myexports_mynativelib@current"], - target: { - host: { - enabled: false, - }, - linux_glibc_x86_64: { - enabled: true, - }, - }, -} `), checkAllCopyRules(` myinclude/Test.h -> include/myinclude/Test.h @@ -2091,7 +1569,7 @@ func TestSnapshotWithCcHeadersLibrary(t *testing.T) { `) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library_headers { @@ -2135,7 +1613,7 @@ func TestSnapshotWithCcHeadersLibraryAndNativeBridgeSupport(t *testing.T) { `) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library_headers { @@ -2220,7 +1698,7 @@ func TestSnapshotWithCcHeadersLibraryAndImageVariants(t *testing.T) { `, trait, property)) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(fmt.Sprintf(` + checkAndroidBpContents(fmt.Sprintf(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library_headers { @@ -2269,7 +1747,7 @@ func TestHostSnapshotWithCcHeadersLibrary(t *testing.T) { `) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library_headers { @@ -2294,51 +1772,6 @@ cc_prebuilt_library_headers { }, }, } -`), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -cc_prebuilt_library_headers { - name: "mysdk_mynativeheaders@current", - sdk_member_name: "mynativeheaders", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - device_supported: false, - host_supported: true, - stl: "none", - compile_multilib: "both", - export_include_dirs: ["include/myinclude"], - target: { - host: { - enabled: false, - }, - linux_glibc_x86_64: { - enabled: true, - }, - linux_glibc_x86: { - enabled: true, - }, - }, -} - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - device_supported: false, - host_supported: true, - native_header_libs: ["mysdk_mynativeheaders@current"], - target: { - host: { - enabled: false, - }, - linux_glibc_x86_64: { - enabled: true, - }, - linux_glibc_x86: { - enabled: true, - }, - }, -} `), checkAllCopyRules(` myinclude/Test.h -> include/myinclude/Test.h @@ -2371,7 +1804,7 @@ func TestDeviceAndHostSnapshotWithCcHeadersLibrary(t *testing.T) { `) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library_headers { @@ -2401,55 +1834,6 @@ cc_prebuilt_library_headers { }, }, } -`), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -cc_prebuilt_library_headers { - name: "mysdk_mynativeheaders@current", - sdk_member_name: "mynativeheaders", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - host_supported: true, - stl: "none", - compile_multilib: "both", - export_system_include_dirs: ["common_os/include/myinclude"], - target: { - host: { - enabled: false, - }, - android: { - export_include_dirs: ["android/include/myinclude-android"], - }, - linux_glibc: { - export_include_dirs: ["linux_glibc/include/myinclude-host"], - }, - linux_glibc_x86_64: { - enabled: true, - }, - linux_glibc_x86: { - enabled: true, - }, - }, -} - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - host_supported: true, - native_header_libs: ["mysdk_mynativeheaders@current"], - target: { - host: { - enabled: false, - }, - linux_glibc_x86_64: { - enabled: true, - }, - linux_glibc_x86: { - enabled: true, - }, - }, -} `), checkAllCopyRules(` myinclude/Test.h -> common_os/include/myinclude/Test.h @@ -2483,7 +1867,7 @@ func TestSystemSharedLibPropagation(t *testing.T) { `) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library_shared { @@ -2556,7 +1940,7 @@ cc_prebuilt_library_shared { `) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library_shared { @@ -2590,59 +1974,7 @@ cc_prebuilt_library_shared { }, } `), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -cc_prebuilt_library_shared { - name: "mysdk_sslvariants@current", - sdk_member_name: "sslvariants", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - host_supported: true, - installable: false, - compile_multilib: "both", - target: { - host: { - enabled: false, - }, - android: { - system_shared_libs: [], - }, - android_arm64: { - srcs: ["android/arm64/lib/sslvariants.so"], - }, - android_arm: { - srcs: ["android/arm/lib/sslvariants.so"], - }, - linux_glibc_x86_64: { - enabled: true, - srcs: ["linux_glibc/x86_64/lib/sslvariants.so"], - }, - linux_glibc_x86: { - enabled: true, - srcs: ["linux_glibc/x86/lib/sslvariants.so"], - }, - }, -} - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - host_supported: true, - native_shared_libs: ["mysdk_sslvariants@current"], - target: { - host: { - enabled: false, - }, - linux_glibc_x86_64: { - enabled: true, - }, - linux_glibc_x86: { - enabled: true, - }, - }, -} -`)) + ) } func TestStubsLibrary(t *testing.T) { @@ -2667,7 +1999,7 @@ func TestStubsLibrary(t *testing.T) { `) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library_shared { @@ -2721,7 +2053,7 @@ func TestDeviceAndHostSnapshotWithStubsLibrary(t *testing.T) { `) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library_shared { @@ -2760,64 +2092,7 @@ cc_prebuilt_library_shared { }, } `), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -cc_prebuilt_library_shared { - name: "mysdk_stubslib@current", - sdk_member_name: "stubslib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - host_supported: true, - installable: false, - compile_multilib: "both", - stubs: { - versions: [ - "1", - "2", - "3", - "current", - ], - }, - target: { - host: { - enabled: false, - }, - android_arm64: { - srcs: ["android/arm64/lib/stubslib.so"], - }, - android_arm: { - srcs: ["android/arm/lib/stubslib.so"], - }, - linux_glibc_x86_64: { - enabled: true, - srcs: ["linux_glibc/x86_64/lib/stubslib.so"], - }, - linux_glibc_x86: { - enabled: true, - srcs: ["linux_glibc/x86/lib/stubslib.so"], - }, - }, -} - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - host_supported: true, - native_shared_libs: ["mysdk_stubslib@current"], - target: { - host: { - enabled: false, - }, - linux_glibc_x86_64: { - enabled: true, - }, - linux_glibc_x86: { - enabled: true, - }, - }, -} -`)) + ) } func TestUniqueHostSoname(t *testing.T) { @@ -2836,7 +2111,7 @@ func TestUniqueHostSoname(t *testing.T) { `) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library_shared { @@ -2867,57 +2142,6 @@ cc_prebuilt_library_shared { }, }, } -`), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -cc_prebuilt_library_shared { - name: "mysdk_mylib@current", - sdk_member_name: "mylib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - host_supported: true, - installable: false, - unique_host_soname: true, - compile_multilib: "both", - target: { - host: { - enabled: false, - }, - android_arm64: { - srcs: ["android/arm64/lib/mylib.so"], - }, - android_arm: { - srcs: ["android/arm/lib/mylib.so"], - }, - linux_glibc_x86_64: { - enabled: true, - srcs: ["linux_glibc/x86_64/lib/mylib-host.so"], - }, - linux_glibc_x86: { - enabled: true, - srcs: ["linux_glibc/x86/lib/mylib-host.so"], - }, - }, -} - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - host_supported: true, - native_shared_libs: ["mysdk_mylib@current"], - target: { - host: { - enabled: false, - }, - linux_glibc_x86_64: { - enabled: true, - }, - linux_glibc_x86: { - enabled: true, - }, - }, -} `), checkAllCopyRules(` .intermediates/mylib/android_arm64_armv8-a_shared/mylib.so -> android/arm64/lib/mylib.so @@ -2951,7 +2175,7 @@ func TestNoSanitizerMembers(t *testing.T) { `) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library_shared { diff --git a/sdk/compat_config_sdk_test.go b/sdk/compat_config_sdk_test.go index 00073c29d..d166add00 100644 --- a/sdk/compat_config_sdk_test.go +++ b/sdk/compat_config_sdk_test.go @@ -37,23 +37,7 @@ func TestSnapshotWithCompatConfig(t *testing.T) { `) CheckSnapshot(t, result, "mysdk", "", - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -prebuilt_platform_compat_config { - name: "mysdk_myconfig@current", - sdk_member_name: "myconfig", - visibility: ["//visibility:public"], - metadata: "compat_configs/myconfig/myconfig_meta.xml", -} - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - compat_configs: ["mysdk_myconfig@current"], -} -`), - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. prebuilt_platform_compat_config { diff --git a/sdk/exports.go b/sdk/exports.go index 9a0ba4e32..7645d3fa1 100644 --- a/sdk/exports.go +++ b/sdk/exports.go @@ -31,7 +31,7 @@ func ModuleExportsFactory() android.Module { return newSdkModule(true) } -// module_exports_snapshot is a versioned snapshot of prebuilt versions of all the exports +// module_exports_snapshot is a snapshot of prebuilt versions of all the exports // of a mainline module. func ModuleExportsSnapshotsFactory() android.Module { s := newSdkModule(true) diff --git a/sdk/exports_test.go b/sdk/exports_test.go index 17ddf1772..2605fd141 100644 --- a/sdk/exports_test.go +++ b/sdk/exports_test.go @@ -43,7 +43,7 @@ func TestModuleExportsSnapshot(t *testing.T) { }) CheckSnapshot(t, result, "myexports", "package", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. java_import { @@ -53,23 +53,6 @@ java_import { apex_available: ["//apex_available:platform"], jars: ["java/myjavalib.jar"], } -`), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -java_import { - name: "myexports_myjavalib@current", - sdk_member_name: "myjavalib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - jars: ["java/myjavalib.jar"], -} - -module_exports_snapshot { - name: "myexports@current", - visibility: ["//visibility:public"], - java_libs: ["myexports_myjavalib@current"], -} `), ) } diff --git a/sdk/java_sdk_test.go b/sdk/java_sdk_test.go index f33aa268e..d25138f5b 100644 --- a/sdk/java_sdk_test.go +++ b/sdk/java_sdk_test.go @@ -96,7 +96,7 @@ func TestSnapshotWithJavaHeaderLibrary(t *testing.T) { `) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. java_import { @@ -107,24 +107,6 @@ java_import { jars: ["java/myjavalib.jar"], permitted_packages: ["pkg.myjavalib"], } -`), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -java_import { - name: "mysdk_myjavalib@current", - sdk_member_name: "myjavalib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - jars: ["java/myjavalib.jar"], - permitted_packages: ["pkg.myjavalib"], -} - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - java_header_libs: ["mysdk_myjavalib@current"], -} `), checkAllCopyRules(` .intermediates/myjavalib/android_common/turbine-combined/myjavalib.jar -> java/myjavalib.jar @@ -160,7 +142,7 @@ func TestHostSnapshotWithJavaHeaderLibrary(t *testing.T) { `) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. java_import { @@ -172,27 +154,6 @@ java_import { host_supported: true, jars: ["java/myjavalib.jar"], } -`), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -java_import { - name: "mysdk_myjavalib@current", - sdk_member_name: "myjavalib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - device_supported: false, - host_supported: true, - jars: ["java/myjavalib.jar"], -} - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - device_supported: false, - host_supported: true, - java_header_libs: ["mysdk_myjavalib@current"], -} `), checkAllCopyRules(` .intermediates/myjavalib/linux_glibc_common/javac/myjavalib.jar -> java/myjavalib.jar @@ -220,7 +181,7 @@ func TestDeviceAndHostSnapshotWithJavaHeaderLibrary(t *testing.T) { `) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. java_import { @@ -238,32 +199,6 @@ java_import { }, }, } -`), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -java_import { - name: "mysdk_myjavalib@current", - sdk_member_name: "myjavalib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - host_supported: true, - target: { - android: { - jars: ["java/android/myjavalib.jar"], - }, - linux_glibc: { - jars: ["java/linux_glibc/myjavalib.jar"], - }, - }, -} - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - host_supported: true, - java_header_libs: ["mysdk_myjavalib@current"], -} `), checkAllCopyRules(` .intermediates/myjavalib/android_common/turbine-combined/myjavalib.jar -> java/android/myjavalib.jar @@ -298,7 +233,7 @@ func TestSnapshotWithJavaImplLibrary(t *testing.T) { `) CheckSnapshot(t, result, "myexports", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. java_import { @@ -308,23 +243,6 @@ java_import { apex_available: ["//apex_available:platform"], jars: ["java/myjavalib.jar"], } -`), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -java_import { - name: "myexports_myjavalib@current", - sdk_member_name: "myjavalib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - jars: ["java/myjavalib.jar"], -} - -module_exports_snapshot { - name: "myexports@current", - visibility: ["//visibility:public"], - java_libs: ["myexports_myjavalib@current"], -} `), checkAllCopyRules(` .intermediates/myjavalib/android_common/withres/myjavalib.jar -> java/myjavalib.jar @@ -361,7 +279,7 @@ func TestSnapshotWithJavaBootLibrary(t *testing.T) { `) CheckSnapshot(t, result, "myexports", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. java_import { @@ -372,25 +290,6 @@ java_import { jars: ["java_boot_libs/snapshot/jars/are/invalid/myjavalib.jar"], permitted_packages: ["pkg.myjavalib"], } -`), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -java_import { - name: "myexports_myjavalib@current", - sdk_member_name: "myjavalib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - jars: ["java_boot_libs/snapshot/jars/are/invalid/myjavalib.jar"], - permitted_packages: ["pkg.myjavalib"], -} - -module_exports_snapshot { - name: "myexports@current", - visibility: ["//visibility:public"], - java_boot_libs: ["myexports_myjavalib@current"], -} - `), checkAllCopyRules(` .intermediates/myexports/common_os/empty -> java_boot_libs/snapshot/jars/are/invalid/myjavalib.jar @@ -427,7 +326,7 @@ func TestSnapshotWithJavaSystemserverLibrary(t *testing.T) { `) CheckSnapshot(t, result, "myexports", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. java_import { @@ -438,24 +337,6 @@ java_import { jars: ["java_systemserver_libs/snapshot/jars/are/invalid/myjavalib.jar"], permitted_packages: ["pkg.myjavalib"], } -`), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -java_import { - name: "myexports_myjavalib@current", - sdk_member_name: "myjavalib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - jars: ["java_systemserver_libs/snapshot/jars/are/invalid/myjavalib.jar"], - permitted_packages: ["pkg.myjavalib"], -} - -module_exports_snapshot { - name: "myexports@current", - visibility: ["//visibility:public"], - java_systemserver_libs: ["myexports_myjavalib@current"], -} `), checkAllCopyRules(` .intermediates/myexports/common_os/empty -> java_systemserver_libs/snapshot/jars/are/invalid/myjavalib.jar @@ -490,7 +371,7 @@ func TestHostSnapshotWithJavaImplLibrary(t *testing.T) { `) CheckSnapshot(t, result, "myexports", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. java_import { @@ -502,27 +383,6 @@ java_import { host_supported: true, jars: ["java/myjavalib.jar"], } -`), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -java_import { - name: "myexports_myjavalib@current", - sdk_member_name: "myjavalib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - device_supported: false, - host_supported: true, - jars: ["java/myjavalib.jar"], -} - -module_exports_snapshot { - name: "myexports@current", - visibility: ["//visibility:public"], - device_supported: false, - host_supported: true, - java_libs: ["myexports_myjavalib@current"], -} `), checkAllCopyRules(` .intermediates/myjavalib/linux_glibc_common/javac/myjavalib.jar -> java/myjavalib.jar @@ -549,7 +409,7 @@ func TestSnapshotWithJavaTest(t *testing.T) { `) CheckSnapshot(t, result, "myexports", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. java_test_import { @@ -560,24 +420,6 @@ java_test_import { jars: ["java/myjavatests.jar"], test_config: "java/myjavatests-AndroidTest.xml", } -`), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -java_test_import { - name: "myexports_myjavatests@current", - sdk_member_name: "myjavatests", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - jars: ["java/myjavatests.jar"], - test_config: "java/myjavatests-AndroidTest.xml", -} - -module_exports_snapshot { - name: "myexports@current", - visibility: ["//visibility:public"], - java_tests: ["myexports_myjavatests@current"], -} `), checkAllCopyRules(` .intermediates/myjavatests/android_common/javac/myjavatests.jar -> java/myjavatests.jar @@ -607,7 +449,7 @@ func TestHostSnapshotWithJavaTest(t *testing.T) { `) CheckSnapshot(t, result, "myexports", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. java_test_import { @@ -620,28 +462,6 @@ java_test_import { jars: ["java/myjavatests.jar"], test_config: "java/myjavatests-AndroidTest.xml", } -`), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -java_test_import { - name: "myexports_myjavatests@current", - sdk_member_name: "myjavatests", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - device_supported: false, - host_supported: true, - jars: ["java/myjavatests.jar"], - test_config: "java/myjavatests-AndroidTest.xml", -} - -module_exports_snapshot { - name: "myexports@current", - visibility: ["//visibility:public"], - device_supported: false, - host_supported: true, - java_tests: ["myexports_myjavatests@current"], -} `), checkAllCopyRules(` .intermediates/myjavatests/linux_glibc_common/javac/myjavatests.jar -> java/myjavatests.jar @@ -703,7 +523,7 @@ func TestSnapshotWithJavaSystemModules(t *testing.T) { `) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. java_import { @@ -747,59 +567,6 @@ java_system_modules_import { "myjavalib.stubs", ], } -`), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -java_import { - name: "mysdk_exported-system-module@current", - sdk_member_name: "exported-system-module", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - jars: ["java/exported-system-module.jar"], -} - -java_import { - name: "mysdk_system-module@current", - sdk_member_name: "system-module", - visibility: ["//visibility:private"], - apex_available: ["//apex_available:platform"], - jars: ["java/system-module.jar"], -} - -java_sdk_library_import { - name: "mysdk_myjavalib@current", - sdk_member_name: "myjavalib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:anyapex"], - shared_library: false, - public: { - jars: ["sdk_library/public/myjavalib-stubs.jar"], - stub_srcs: ["sdk_library/public/myjavalib_stub_sources"], - current_api: "sdk_library/public/myjavalib.txt", - removed_api: "sdk_library/public/myjavalib-removed.txt", - sdk_version: "current", - }, -} - -java_system_modules_import { - name: "mysdk_my-system-modules@current", - sdk_member_name: "my-system-modules", - visibility: ["//visibility:public"], - libs: [ - "mysdk_system-module@current", - "mysdk_exported-system-module@current", - "mysdk_myjavalib.stubs@current", - ], -} - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - java_header_libs: ["mysdk_exported-system-module@current"], - java_sdk_libs: ["mysdk_myjavalib@current"], - java_system_modules: ["mysdk_my-system-modules@current"], -} `), checkAllCopyRules(` .intermediates/exported-system-module/android_common/turbine-combined/exported-system-module.jar -> java/exported-system-module.jar @@ -885,7 +652,7 @@ func TestHostSnapshotWithJavaSystemModules(t *testing.T) { `) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. java_import { @@ -906,36 +673,6 @@ java_system_modules_import { host_supported: true, libs: ["mysdk_system-module"], } -`), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -java_import { - name: "mysdk_system-module@current", - sdk_member_name: "system-module", - visibility: ["//visibility:private"], - apex_available: ["//apex_available:platform"], - device_supported: false, - host_supported: true, - jars: ["java/system-module.jar"], -} - -java_system_modules_import { - name: "mysdk_my-system-modules@current", - sdk_member_name: "my-system-modules", - visibility: ["//visibility:public"], - device_supported: false, - host_supported: true, - libs: ["mysdk_system-module@current"], -} - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - device_supported: false, - host_supported: true, - java_system_modules: ["mysdk_my-system-modules@current"], -} `), checkAllCopyRules(".intermediates/system-module/linux_glibc_common/javac/system-module.jar -> java/system-module.jar"), ) @@ -979,7 +716,7 @@ func TestDeviceAndHostSnapshotWithOsSpecificMembers(t *testing.T) { `) CheckSnapshot(t, result, "myexports", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. java_import { @@ -1015,58 +752,6 @@ java_import { }, }, } -`), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -java_import { - name: "myexports_hostjavalib@current", - sdk_member_name: "hostjavalib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - device_supported: false, - host_supported: true, - jars: ["java/hostjavalib.jar"], -} - -java_import { - name: "myexports_androidjavalib@current", - sdk_member_name: "androidjavalib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - jars: ["java/androidjavalib.jar"], -} - -java_import { - name: "myexports_myjavalib@current", - sdk_member_name: "myjavalib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - host_supported: true, - target: { - android: { - jars: ["java/android/myjavalib.jar"], - }, - linux_glibc: { - jars: ["java/linux_glibc/myjavalib.jar"], - }, - }, -} - -module_exports_snapshot { - name: "myexports@current", - visibility: ["//visibility:public"], - host_supported: true, - java_libs: ["myexports_myjavalib@current"], - target: { - android: { - java_header_libs: ["myexports_androidjavalib@current"], - }, - linux_glibc: { - java_header_libs: ["myexports_hostjavalib@current"], - }, - }, -} `), checkAllCopyRules(` .intermediates/hostjavalib/linux_glibc_common/javac/hostjavalib.jar -> java/hostjavalib.jar @@ -1097,7 +782,7 @@ func TestSnapshotWithJavaSdkLibrary(t *testing.T) { `) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. java_sdk_library_import { @@ -1129,45 +814,6 @@ java_sdk_library_import { sdk_version: "test_current", }, } -`), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -java_sdk_library_import { - name: "mysdk_myjavalib@current", - sdk_member_name: "myjavalib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:anyapex"], - shared_library: false, - permitted_packages: ["pkg.myjavalib"], - public: { - jars: ["sdk_library/public/myjavalib-stubs.jar"], - stub_srcs: ["sdk_library/public/myjavalib_stub_sources"], - current_api: "sdk_library/public/myjavalib.txt", - removed_api: "sdk_library/public/myjavalib-removed.txt", - sdk_version: "current", - }, - system: { - jars: ["sdk_library/system/myjavalib-stubs.jar"], - stub_srcs: ["sdk_library/system/myjavalib_stub_sources"], - current_api: "sdk_library/system/myjavalib.txt", - removed_api: "sdk_library/system/myjavalib-removed.txt", - sdk_version: "system_current", - }, - test: { - jars: ["sdk_library/test/myjavalib-stubs.jar"], - stub_srcs: ["sdk_library/test/myjavalib_stub_sources"], - current_api: "sdk_library/test/myjavalib.txt", - removed_api: "sdk_library/test/myjavalib-removed.txt", - sdk_version: "test_current", - }, -} - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - java_sdk_libs: ["mysdk_myjavalib@current"], -} `), checkAllCopyRules(` .intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar @@ -1185,12 +831,6 @@ sdk_snapshot { ".intermediates/mysdk/common_os/tmp/sdk_library/system/myjavalib_stub_sources.zip", ".intermediates/mysdk/common_os/tmp/sdk_library/test/myjavalib_stub_sources.zip", ), - snapshotTestChecker(checkSnapshotWithoutSource, func(t *testing.T, result *android.TestResult) { - // Make sure that the name of the child modules created by a versioned java_sdk_library_import - // module is correct, i.e. the suffix is added before the version and not after. - result.Module("mysdk_myjavalib.stubs@current", "android_common") - result.Module("mysdk_myjavalib.stubs.source@current", "android_common") - }), ) } @@ -1218,7 +858,7 @@ func TestSnapshotWithJavaSdkLibrary_UseSrcJar(t *testing.T) { `) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. java_sdk_library_import { @@ -1265,7 +905,7 @@ func TestSnapshotWithJavaSdkLibrary_AnnotationsZip(t *testing.T) { `) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. java_sdk_library_import { @@ -1319,7 +959,7 @@ func TestSnapshotWithJavaSdkLibrary_AnnotationsZip_PreT(t *testing.T) { `) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. java_sdk_library_import { @@ -1369,7 +1009,7 @@ func TestSnapshotWithJavaSdkLibrary_CompileDex(t *testing.T) { `) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. java_sdk_library_import { @@ -1436,7 +1076,7 @@ func TestSnapshotWithJavaSdkLibrary_SdkVersion_None(t *testing.T) { `) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. java_sdk_library_import { @@ -1453,30 +1093,6 @@ java_sdk_library_import { sdk_version: "none", }, } -`), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -java_sdk_library_import { - name: "mysdk_myjavalib@current", - sdk_member_name: "myjavalib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - shared_library: true, - public: { - jars: ["sdk_library/public/myjavalib-stubs.jar"], - stub_srcs: ["sdk_library/public/myjavalib_stub_sources"], - current_api: "sdk_library/public/myjavalib.txt", - removed_api: "sdk_library/public/myjavalib-removed.txt", - sdk_version: "none", - }, -} - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - java_sdk_libs: ["mysdk_myjavalib@current"], -} `), checkAllCopyRules(` .intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar @@ -1508,7 +1124,7 @@ func TestSnapshotWithJavaSdkLibrary_SdkVersion_ForScope(t *testing.T) { `) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. java_sdk_library_import { @@ -1525,30 +1141,6 @@ java_sdk_library_import { sdk_version: "module_current", }, } -`), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -java_sdk_library_import { - name: "mysdk_myjavalib@current", - sdk_member_name: "myjavalib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - shared_library: true, - public: { - jars: ["sdk_library/public/myjavalib-stubs.jar"], - stub_srcs: ["sdk_library/public/myjavalib_stub_sources"], - current_api: "sdk_library/public/myjavalib.txt", - removed_api: "sdk_library/public/myjavalib-removed.txt", - sdk_version: "module_current", - }, -} - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - java_sdk_libs: ["mysdk_myjavalib@current"], -} `), checkAllCopyRules(` .intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar @@ -1583,7 +1175,7 @@ func TestSnapshotWithJavaSdkLibrary_ApiScopes(t *testing.T) { `) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. java_sdk_library_import { @@ -1607,37 +1199,6 @@ java_sdk_library_import { sdk_version: "system_current", }, } -`), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -java_sdk_library_import { - name: "mysdk_myjavalib@current", - sdk_member_name: "myjavalib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:anyapex"], - shared_library: true, - public: { - jars: ["sdk_library/public/myjavalib-stubs.jar"], - stub_srcs: ["sdk_library/public/myjavalib_stub_sources"], - current_api: "sdk_library/public/myjavalib.txt", - removed_api: "sdk_library/public/myjavalib-removed.txt", - sdk_version: "current", - }, - system: { - jars: ["sdk_library/system/myjavalib-stubs.jar"], - stub_srcs: ["sdk_library/system/myjavalib_stub_sources"], - current_api: "sdk_library/system/myjavalib.txt", - removed_api: "sdk_library/system/myjavalib-removed.txt", - sdk_version: "system_current", - }, -} - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - java_sdk_libs: ["mysdk_myjavalib@current"], -} `), checkAllCopyRules(` .intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar @@ -1679,7 +1240,7 @@ func TestSnapshotWithJavaSdkLibrary_ModuleLib(t *testing.T) { `) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. java_sdk_library_import { @@ -1710,44 +1271,6 @@ java_sdk_library_import { sdk_version: "module_current", }, } -`), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -java_sdk_library_import { - name: "mysdk_myjavalib@current", - sdk_member_name: "myjavalib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:anyapex"], - shared_library: true, - public: { - jars: ["sdk_library/public/myjavalib-stubs.jar"], - stub_srcs: ["sdk_library/public/myjavalib_stub_sources"], - current_api: "sdk_library/public/myjavalib.txt", - removed_api: "sdk_library/public/myjavalib-removed.txt", - sdk_version: "current", - }, - system: { - jars: ["sdk_library/system/myjavalib-stubs.jar"], - stub_srcs: ["sdk_library/system/myjavalib_stub_sources"], - current_api: "sdk_library/system/myjavalib.txt", - removed_api: "sdk_library/system/myjavalib-removed.txt", - sdk_version: "system_current", - }, - module_lib: { - jars: ["sdk_library/module-lib/myjavalib-stubs.jar"], - stub_srcs: ["sdk_library/module-lib/myjavalib_stub_sources"], - current_api: "sdk_library/module-lib/myjavalib.txt", - removed_api: "sdk_library/module-lib/myjavalib-removed.txt", - sdk_version: "module_current", - }, -} - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - java_sdk_libs: ["mysdk_myjavalib@current"], -} `), checkAllCopyRules(` .intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar @@ -1790,7 +1313,7 @@ func TestSnapshotWithJavaSdkLibrary_SystemServer(t *testing.T) { `) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. java_sdk_library_import { @@ -1814,37 +1337,6 @@ java_sdk_library_import { sdk_version: "system_server_current", }, } -`), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -java_sdk_library_import { - name: "mysdk_myjavalib@current", - sdk_member_name: "myjavalib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:anyapex"], - shared_library: true, - public: { - jars: ["sdk_library/public/myjavalib-stubs.jar"], - stub_srcs: ["sdk_library/public/myjavalib_stub_sources"], - current_api: "sdk_library/public/myjavalib.txt", - removed_api: "sdk_library/public/myjavalib-removed.txt", - sdk_version: "current", - }, - system_server: { - jars: ["sdk_library/system-server/myjavalib-stubs.jar"], - stub_srcs: ["sdk_library/system-server/myjavalib_stub_sources"], - current_api: "sdk_library/system-server/myjavalib.txt", - removed_api: "sdk_library/system-server/myjavalib-removed.txt", - sdk_version: "system_server_current", - }, -} - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - java_sdk_libs: ["mysdk_myjavalib@current"], -} `), checkAllCopyRules(` .intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar @@ -1881,7 +1373,7 @@ func TestSnapshotWithJavaSdkLibrary_NamingScheme(t *testing.T) { `) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. java_sdk_library_import { @@ -1899,31 +1391,6 @@ java_sdk_library_import { sdk_version: "current", }, } -`), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -java_sdk_library_import { - name: "mysdk_myjavalib@current", - sdk_member_name: "myjavalib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:anyapex"], - naming_scheme: "default", - shared_library: true, - public: { - jars: ["sdk_library/public/myjavalib-stubs.jar"], - stub_srcs: ["sdk_library/public/myjavalib_stub_sources"], - current_api: "sdk_library/public/myjavalib.txt", - removed_api: "sdk_library/public/myjavalib-removed.txt", - sdk_version: "current", - }, -} - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - java_sdk_libs: ["mysdk_myjavalib@current"], -} `), checkAllCopyRules(` .intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar @@ -1963,7 +1430,7 @@ func TestSnapshotWithJavaSdkLibrary_DoctagFiles(t *testing.T) { `) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. java_sdk_library_import { @@ -1981,31 +1448,6 @@ java_sdk_library_import { sdk_version: "current", }, } -`), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -java_sdk_library_import { - name: "mysdk_myjavalib@current", - sdk_member_name: "myjavalib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - shared_library: true, - doctag_files: ["doctags/docs/known_doctags"], - public: { - jars: ["sdk_library/public/myjavalib-stubs.jar"], - stub_srcs: ["sdk_library/public/myjavalib_stub_sources"], - current_api: "sdk_library/public/myjavalib.txt", - removed_api: "sdk_library/public/myjavalib-removed.txt", - sdk_version: "current", - }, -} - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - java_sdk_libs: ["mysdk_myjavalib@current"], -} `), checkAllCopyRules(` .intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar diff --git a/sdk/license_sdk_test.go b/sdk/license_sdk_test.go index 1ef6fe684..829edf117 100644 --- a/sdk/license_sdk_test.go +++ b/sdk/license_sdk_test.go @@ -60,7 +60,7 @@ func TestSnapshotWithPackageDefaultLicense(t *testing.T) { `) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. package { @@ -89,44 +89,6 @@ license { "licenses/NOTICE1", "licenses/NOTICE2", ], -} - `), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -package { - // A default list here prevents the license LSC from adding its own list which would - // be unnecessary as every module in the sdk already has its own licenses property. - default_applicable_licenses: ["Android-Apache-2.0"], -} - -java_import { - name: "mysdk_myjavalib@current", - sdk_member_name: "myjavalib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - licenses: ["mysdk_mylicense@current"], - jars: ["java/myjavalib.jar"], -} - -license { - name: "mysdk_mylicense@current", - sdk_member_name: "mylicense", - visibility: ["//visibility:private"], - license_kinds: [ - "SPDX-license-identifier-Apache-2.0", - "legacy_unencumbered", - ], - license_text: [ - "licenses/NOTICE1", - "licenses/NOTICE2", - ], -} - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - java_header_libs: ["mysdk_myjavalib@current"], } `), checkAllCopyRules(` diff --git a/sdk/member_trait_test.go b/sdk/member_trait_test.go index a3db189b2..99caf13e3 100644 --- a/sdk/member_trait_test.go +++ b/sdk/member_trait_test.go @@ -134,7 +134,7 @@ func TestBasicTrait_WithoutTrait(t *testing.T) { ).RunTest(t) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. java_import { @@ -144,23 +144,6 @@ java_import { apex_available: ["//apex_available:platform"], jars: ["javalibs/myjavalib.jar"], } -`), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -java_import { - name: "mysdk_myjavalib@current", - sdk_member_name: "myjavalib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - jars: ["javalibs/myjavalib.jar"], -} - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - fake_members: ["mysdk_myjavalib@current"], -} `), ) } @@ -216,7 +199,7 @@ func TestBasicTrait_MultipleTraits(t *testing.T) { ).RunTest(t) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. java_test_import { diff --git a/sdk/sdk.go b/sdk/sdk.go index 468ed99ab..aeeedb428 100644 --- a/sdk/sdk.go +++ b/sdk/sdk.go @@ -146,7 +146,7 @@ func newSdkModule(moduleExports bool) *sdk { return s } -// sdk_snapshot is a versioned snapshot of an SDK. This is an auto-generated module. +// sdk_snapshot is a snapshot of an SDK. This is an auto-generated module. func SnapshotModuleFactory() android.Module { s := newSdkModule(false) s.properties.Snapshot = true @@ -292,38 +292,6 @@ func (t dependencyTag) ExcludeFromApexContents() {} var _ android.ExcludeFromApexContentsTag = dependencyTag{} -// For dependencies from an in-development version of an SDK member to frozen versions of the same member -// e.g. libfoo -> libfoo.mysdk.11 and libfoo.mysdk.12 -// -// The dependency represented by this tag requires that for every APEX variant created for the -// `from` module that an equivalent APEX variant is created for the 'to' module. This is because an -// APEX that requires a specific version of an sdk (via the `uses_sdks` property will replace -// dependencies on the unversioned sdk member with a dependency on the appropriate versioned sdk -// member. In order for that to work the versioned sdk member needs to have a variant for that APEX. -// As it is not known at the time that the APEX variants are created which specific APEX variants of -// a versioned sdk members will be required it is necessary for the versioned sdk members to have -// variants for any APEX that it could be used within. -// -// If the APEX selects a versioned sdk member then it will not have a dependency on the `from` -// module at all so any dependencies of that module will not affect the APEX. However, if the APEX -// selects the unversioned sdk member then it must exclude all the versioned sdk members. In no -// situation would this dependency cause the `to` module to be added to the APEX hence why this tag -// also excludes the `to` module from being added to the APEX contents. -type sdkMemberVersionedDepTag struct { - dependencyTag - member string - version string -} - -func (t sdkMemberVersionedDepTag) AlwaysRequireApexVariant() bool { - return true -} - -// Mark this tag so dependencies that use it are excluded from visibility enforcement. -func (t sdkMemberVersionedDepTag) ExcludeFromVisibilityEnforcement() {} - -var _ android.AlwaysRequireApexVariantTag = sdkMemberVersionedDepTag{} - // Step 1: create dependencies from an SDK module to its members. func memberMutator(mctx android.BottomUpMutatorContext) { if s, ok := mctx.Module().(*sdk); ok { diff --git a/sdk/sdk_test.go b/sdk/sdk_test.go index ccbeb8d9a..e230d5c0b 100644 --- a/sdk/sdk_test.go +++ b/sdk/sdk_test.go @@ -118,18 +118,6 @@ func TestSnapshotVisibility(t *testing.T) { checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. -java_import { - name: "mysdk_myjavalib@current", - sdk_member_name: "myjavalib", - visibility: [ - "//other/foo", - "//package", - "//prebuilts/mysdk", - ], - apex_available: ["//apex_available:platform"], - jars: ["java/myjavalib.jar"], -} - java_import { name: "myjavalib", prefer: false, @@ -142,14 +130,6 @@ java_import { jars: ["java/myjavalib.jar"], } -java_import { - name: "mysdk_mypublicjavalib@current", - sdk_member_name: "mypublicjavalib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - jars: ["java/mypublicjavalib.jar"], -} - java_import { name: "mypublicjavalib", prefer: false, @@ -158,18 +138,6 @@ java_import { jars: ["java/mypublicjavalib.jar"], } -java_import { - name: "mysdk_mydefaultedjavalib@current", - sdk_member_name: "mydefaultedjavalib", - visibility: [ - "//other/bar", - "//package", - "//prebuilts/mysdk", - ], - apex_available: ["//apex_available:platform"], - jars: ["java/mydefaultedjavalib.jar"], -} - java_import { name: "mydefaultedjavalib", prefer: false, @@ -182,17 +150,6 @@ java_import { jars: ["java/mydefaultedjavalib.jar"], } -java_import { - name: "mysdk_myprivatejavalib@current", - sdk_member_name: "myprivatejavalib", - visibility: [ - "//package", - "//prebuilts/mysdk", - ], - apex_available: ["//apex_available:platform"], - jars: ["java/myprivatejavalib.jar"], -} - java_import { name: "myprivatejavalib", prefer: false, @@ -203,20 +160,6 @@ java_import { apex_available: ["//apex_available:platform"], jars: ["java/myprivatejavalib.jar"], } - -sdk_snapshot { - name: "mysdk@current", - visibility: [ - "//other/foo", - "//package:__subpackages__", - ], - java_header_libs: [ - "mysdk_myjavalib@current", - "mysdk_mypublicjavalib@current", - "mysdk_mydefaultedjavalib@current", - "mysdk_myprivatejavalib@current", - ], -} `)) } @@ -449,14 +392,6 @@ func TestSnapshot_EnvConfiguration(t *testing.T) { checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. -java_import { - name: "mysdk_myjavalib@current", - sdk_member_name: "myjavalib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - jars: ["java/myjavalib.jar"], -} - java_import { name: "myjavalib", prefer: false, @@ -464,12 +399,6 @@ java_import { apex_available: ["//apex_available:platform"], jars: ["java/myjavalib.jar"], } - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - java_header_libs: ["mysdk_myjavalib@current"], -} `), ) }) @@ -488,14 +417,6 @@ sdk_snapshot { checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. -java_import { - name: "mysdk_myjavalib@current", - sdk_member_name: "myjavalib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - jars: ["java/myjavalib.jar"], -} - java_import { name: "myjavalib", prefer: true, @@ -503,12 +424,6 @@ java_import { apex_available: ["//apex_available:platform"], jars: ["java/myjavalib.jar"], } - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - java_header_libs: ["mysdk_myjavalib@current"], -} `), ) }) @@ -527,14 +442,6 @@ sdk_snapshot { checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. -java_import { - name: "mysdk_myjavalib@current", - sdk_member_name: "myjavalib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - jars: ["java/myjavalib.jar"], -} - java_import { name: "myjavalib", prefer: false, @@ -546,113 +453,10 @@ java_import { apex_available: ["//apex_available:platform"], jars: ["java/myjavalib.jar"], } - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - java_header_libs: ["mysdk_myjavalib@current"], -} `), ) }) - t.Run("SOONG_SDK_SNAPSHOT_VERSION=unversioned", func(t *testing.T) { - result := android.GroupFixturePreparers( - preparer, - android.FixtureMergeEnv(map[string]string{ - "SOONG_SDK_SNAPSHOT_VERSION": "unversioned", - }), - ).RunTest(t) - - checkZipFile(t, result, "out/soong/.intermediates/mysdk/common_os/mysdk.zip") - - CheckSnapshot(t, result, "mysdk", "", - checkAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -java_import { - name: "myjavalib", - prefer: false, - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - jars: ["java/myjavalib.jar"], -} - `), - ) - }) - - t.Run("SOONG_SDK_SNAPSHOT_VERSION=current", func(t *testing.T) { - result := android.GroupFixturePreparers( - preparer, - android.FixtureMergeEnv(map[string]string{ - "SOONG_SDK_SNAPSHOT_VERSION": "current", - }), - ).RunTest(t) - - checkZipFile(t, result, "out/soong/.intermediates/mysdk/common_os/mysdk-current.zip") - - CheckSnapshot(t, result, "mysdk", "", - checkAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -java_import { - name: "mysdk_myjavalib@current", - sdk_member_name: "myjavalib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - jars: ["java/myjavalib.jar"], -} - -java_import { - name: "myjavalib", - prefer: false, - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - jars: ["java/myjavalib.jar"], -} - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - java_header_libs: ["mysdk_myjavalib@current"], -} - `), - ) - }) - - t.Run("SOONG_SDK_SNAPSHOT_VERSION=2", func(t *testing.T) { - result := android.GroupFixturePreparers( - preparer, - android.FixtureMergeEnv(map[string]string{ - "SOONG_SDK_SNAPSHOT_VERSION": "2", - }), - ).RunTest(t) - - checkZipFile(t, result, "out/soong/.intermediates/mysdk/common_os/mysdk-2.zip") - - CheckSnapshot(t, result, "mysdk", "", - checkAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -java_import { - name: "mysdk_myjavalib@2", - sdk_member_name: "myjavalib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - jars: ["java/myjavalib.jar"], -} - -sdk_snapshot { - name: "mysdk@2", - visibility: ["//visibility:public"], - java_header_libs: ["mysdk_myjavalib@2"], -} - `), - // A versioned snapshot cannot be used on its own so add the source back in. - snapshotTestPreparer(checkSnapshotWithoutSource, android.FixtureWithRootAndroidBp(bp)), - ) - }) - t.Run("SOONG_SDK_SNAPSHOT_TARGET_BUILD_RELEASE=S", func(t *testing.T) { result := android.GroupFixturePreparers( prepareForSdkTestWithJava, @@ -685,7 +489,7 @@ sdk_snapshot { ).RunTest(t) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. prebuilt_bootclasspath_fragment { diff --git a/sdk/systemserverclasspath_fragment_sdk_test.go b/sdk/systemserverclasspath_fragment_sdk_test.go index 16e3e7fa9..01692a35b 100644 --- a/sdk/systemserverclasspath_fragment_sdk_test.go +++ b/sdk/systemserverclasspath_fragment_sdk_test.go @@ -83,7 +83,7 @@ func TestSnapshotWithSystemServerClasspathFragment(t *testing.T) { ).RunTest(t) CheckSnapshot(t, result, "mysdk", "", - checkUnversionedAndroidBpContents(` + checkAndroidBpContents(` // This is auto-generated. DO NOT EDIT. java_sdk_library_import { @@ -120,52 +120,6 @@ prebuilt_systemserverclasspath_fragment { "mysdklibrary", ], } -`), - checkVersionedAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -java_sdk_library_import { - name: "mysdk_mysdklibrary@current", - sdk_member_name: "mysdklibrary", - visibility: ["//visibility:public"], - apex_available: ["myapex"], - shared_library: false, - public: { - jars: ["sdk_library/public/mysdklibrary-stubs.jar"], - stub_srcs: ["sdk_library/public/mysdklibrary_stub_sources"], - current_api: "sdk_library/public/mysdklibrary.txt", - removed_api: "sdk_library/public/mysdklibrary-removed.txt", - sdk_version: "current", - }, -} - -java_import { - name: "mysdk_mylib@current", - sdk_member_name: "mylib", - visibility: ["//visibility:public"], - apex_available: ["myapex"], - jars: ["java_systemserver_libs/snapshot/jars/are/invalid/mylib.jar"], - permitted_packages: ["mylib"], -} - -prebuilt_systemserverclasspath_fragment { - name: "mysdk_mysystemserverclasspathfragment@current", - sdk_member_name: "mysystemserverclasspathfragment", - visibility: ["//visibility:public"], - apex_available: ["myapex"], - contents: [ - "mysdk_mylib@current", - "mysdk_mysdklibrary@current", - ], -} - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - java_sdk_libs: ["mysdk_mysdklibrary@current"], - java_systemserver_libs: ["mysdk_mylib@current"], - systemserverclasspath_fragments: ["mysdk_mysystemserverclasspathfragment@current"], -} `), ) } diff --git a/sdk/testing.go b/sdk/testing.go index 72344de25..bed11b27d 100644 --- a/sdk/testing.go +++ b/sdk/testing.go @@ -122,29 +122,18 @@ func ensureListContains(t *testing.T, result []string, expected string) { } } -func pathsToStrings(paths android.Paths) []string { - var ret []string - for _, p := range paths { - ret = append(ret, p.String()) - } - return ret -} - // Analyse the sdk build rules to extract information about what it is doing. // // e.g. find the src/dest pairs from each cp command, the various zip files // generated, etc. func getSdkSnapshotBuildInfo(t *testing.T, result *android.TestResult, sdk *sdk) *snapshotBuildInfo { info := &snapshotBuildInfo{ - t: t, - r: result, - version: sdk.builderForTests.version, - androidBpContents: sdk.GetAndroidBpContentsForTests(), - androidUnversionedBpContents: sdk.GetUnversionedAndroidBpContentsForTests(), - androidVersionedBpContents: sdk.GetVersionedAndroidBpContentsForTests(), - infoContents: sdk.GetInfoContentsForTests(), - snapshotTestCustomizations: map[snapshotTest]*snapshotTestCustomization{}, - targetBuildRelease: sdk.builderForTests.targetBuildRelease, + t: t, + r: result, + androidBpContents: sdk.GetAndroidBpContentsForTests(), + infoContents: sdk.GetInfoContentsForTests(), + snapshotTestCustomizations: map[snapshotTest]*snapshotTestCustomization{}, + targetBuildRelease: sdk.builderForTests.targetBuildRelease, } buildParams := sdk.BuildParamsForTests() @@ -258,10 +247,7 @@ func CheckSnapshot(t *testing.T, result *android.TestResult, name string, dir st if dir != "" { dir = filepath.Clean(dir) + "/" } - suffix := "" - if snapshotBuildInfo.version != soongSdkSnapshotVersionUnversioned { - suffix = "-" + snapshotBuildInfo.version - } + suffix := "-" + soongSdkSnapshotVersionCurrent expectedZipPath := fmt.Sprintf(".intermediates/%s%s/%s/%s%s.zip", dir, name, variant, name, suffix) android.AssertStringEquals(t, "Snapshot zip file in wrong place", expectedZipPath, actual) @@ -345,33 +331,6 @@ func checkAndroidBpContents(expected string) snapshotBuildInfoChecker { } } -// Check that the snapshot's unversioned generated Android.bp is correct. -// -// This func should be used to check the general snapshot generation code. -// -// Both the expected and actual string are both trimmed before comparing. -func checkUnversionedAndroidBpContents(expected string) snapshotBuildInfoChecker { - return func(info *snapshotBuildInfo) { - info.t.Helper() - android.AssertTrimmedStringEquals(info.t, "unversioned Android.bp contents do not match", expected, info.androidUnversionedBpContents) - } -} - -// Check that the snapshot's versioned generated Android.bp is correct. -// -// This func should only be used to check the version specific snapshot generation code, -// i.e. the encoding of version into module names and the generation of the _snapshot module. The -// general snapshot generation code should be checked using the checkUnversionedAndroidBpContents() -// func. -// -// Both the expected and actual string are both trimmed before comparing. -func checkVersionedAndroidBpContents(expected string) snapshotBuildInfoChecker { - return func(info *snapshotBuildInfo) { - info.t.Helper() - android.AssertTrimmedStringEquals(info.t, "versioned Android.bp contents do not match", expected, info.androidVersionedBpContents) - } -} - // Check that the snapshot's copy rules are correct. // // The copy rules are formatted as -> , one per line and then compared @@ -477,20 +436,9 @@ type snapshotBuildInfo struct { // The result from RunTest() r *android.TestResult - // The version of the generated snapshot. - // - // See snapshotBuilder.version for more information about this field. - version string - // The contents of the generated Android.bp file androidBpContents string - // The contents of the unversioned Android.bp file - androidUnversionedBpContents string - - // The contents of the versioned Android.bp file - androidVersionedBpContents string - // The contents of the info file. infoContents string diff --git a/sdk/update.go b/sdk/update.go index c5adddafb..457828bdd 100644 --- a/sdk/update.go +++ b/sdk/update.go @@ -35,7 +35,7 @@ import ( // ======================================================== // // SOONG_SDK_SNAPSHOT_PREFER -// By default every unversioned module in the generated snapshot has prefer: false. Building it +// By default every module in the generated snapshot has prefer: false. Building it // with SOONG_SDK_SNAPSHOT_PREFER=true will force them to use prefer: true. // // SOONG_SDK_SNAPSHOT_USE_SOURCE_CONFIG_VAR @@ -69,20 +69,6 @@ import ( // maintainable solution has been implemented. // TODO(b/174997203): Remove when no longer necessary. // -// SOONG_SDK_SNAPSHOT_VERSION -// This provides control over the version of the generated snapshot. -// -// SOONG_SDK_SNAPSHOT_VERSION=current will generate unversioned and versioned prebuilts and a -// versioned snapshot module. This is the default behavior. The zip file containing the -// generated snapshot will be -current.zip. -// -// SOONG_SDK_SNAPSHOT_VERSION=unversioned will generate unversioned prebuilts only and the zip -// file containing the generated snapshot will be .zip. -// -// SOONG_SDK_SNAPSHOT_VERSION= will generate versioned prebuilts and a versioned -// snapshot module only. The zip file containing the generated snapshot will be -// -.zip. -// // SOONG_SDK_SNAPSHOT_TARGET_BUILD_RELEASE // This allows the target build release (i.e. the release version of the build within which // the snapshot will be used) of the snapshot to be specified. If unspecified then it defaults @@ -130,8 +116,7 @@ var ( ) const ( - soongSdkSnapshotVersionUnversioned = "unversioned" - soongSdkSnapshotVersionCurrent = "current" + soongSdkSnapshotVersionCurrent = "current" ) type generatedContents struct { @@ -163,13 +148,13 @@ func (gc *generatedContents) Dedent() { // IndentedPrintf will add spaces to indent the line to the appropriate level before printing the // arguments. func (gc *generatedContents) IndentedPrintf(format string, args ...interface{}) { - fmt.Fprintf(&(gc.content), strings.Repeat(" ", gc.indentLevel)+format, args...) + _, _ = fmt.Fprintf(&(gc.content), strings.Repeat(" ", gc.indentLevel)+format, args...) } // UnindentedPrintf does not add spaces to indent the line to the appropriate level before printing // the arguments. func (gc *generatedContents) UnindentedPrintf(format string, args ...interface{}) { - fmt.Fprintf(&(gc.content), format, args...) + _, _ = fmt.Fprintf(&(gc.content), format, args...) } func (gf *generatedFile) build(pctx android.PackageContext, ctx android.BuilderContext, implicits android.Paths) { @@ -321,12 +306,6 @@ const BUILD_NUMBER_FILE = "snapshot-creation-build-number.txt" // /lib/ // libFoo.so : a stub library -// A name that uniquely identifies a prebuilt SDK member for a version of SDK snapshot -// This isn't visible to users, so could be changed in future. -func versionedSdkMemberName(ctx android.ModuleContext, memberName string, version string) string { - return ctx.ModuleName() + "_" + memberName + string(android.SdkVersionSeparator) + version -} - // buildSnapshot is the main function in this source file. It creates rules to copy // the contents (header files, stub libraries, etc) into the zip file. func (s *sdk) buildSnapshot(ctx android.ModuleContext, sdkVariants []*sdk) { @@ -378,20 +357,9 @@ func (s *sdk) buildSnapshot(ctx android.ModuleContext, sdkVariants []*sdk) { } config := ctx.Config() - version := config.GetenvWithDefault("SOONG_SDK_SNAPSHOT_VERSION", "current") - // Generate versioned modules in the snapshot unless an unversioned snapshot has been requested. - generateVersioned := version != soongSdkSnapshotVersionUnversioned - - // Generate unversioned modules in the snapshot unless a numbered snapshot has been requested. - // - // Unversioned modules are not required in that case because the numbered version will be a - // finalized version of the snapshot that is intended to be kept separate from the - generateUnversioned := version == soongSdkSnapshotVersionUnversioned || version == soongSdkSnapshotVersionCurrent - snapshotFileSuffix := "" - if generateVersioned { - snapshotFileSuffix = "-" + version - } + // Always add -current to the end + snapshotFileSuffix := "-current" currentBuildRelease := latestBuildRelease() targetBuildReleaseEnv := config.GetenvWithDefault("SOONG_SDK_SNAPSHOT_TARGET_BUILD_RELEASE", currentBuildRelease.name) @@ -404,7 +372,6 @@ func (s *sdk) buildSnapshot(ctx android.ModuleContext, sdkVariants []*sdk) { builder := &snapshotBuilder{ ctx: ctx, sdk: s, - version: version, snapshotDir: snapshotDir.OutputPath, copies: make(map[string]string), filesToZip: []android.Path{bp.path}, @@ -454,38 +421,19 @@ be unnecessary as every module in the sdk already has its own licenses property. s.createMemberSnapshot(memberCtx, member, prebuiltModule.(*bpModule)) } - // Create a transformer that will transform an unversioned module into a versioned module. - unversionedToVersionedTransformer := unversionedToVersionedTransformation{builder: builder} - - // Create a transformer that will transform an unversioned module by replacing any references + // Create a transformer that will transform a module by replacing any references // to internal members with a unique module name and setting prefer: false. - unversionedTransformer := unversionedTransformation{ + snapshotTransformer := snapshotTransformation{ builder: builder, } - for _, unversioned := range builder.prebuiltOrder { + for _, module := range builder.prebuiltOrder { // Prune any empty property sets. - unversioned = unversioned.transform(pruneEmptySetTransformer{}) + module = module.transform(pruneEmptySetTransformer{}) - if generateVersioned { - // Copy the unversioned module so it can be modified to make it versioned. - versioned := unversioned.deepCopy() - - // Transform the unversioned module into a versioned one. - versioned.transform(unversionedToVersionedTransformer) - bpFile.AddModule(versioned) - } - - if generateUnversioned { - // Transform the unversioned module to make it suitable for use in the snapshot. - unversioned.transform(unversionedTransformer) - bpFile.AddModule(unversioned) - } - } - - if generateVersioned { - // Add the sdk/module_exports_snapshot module to the bp file. - s.addSnapshotModule(ctx, builder, sdkVariants, memberVariantDeps) + // Transform the module module to make it suitable for use in the snapshot. + module.transform(snapshotTransformer) + bpFile.AddModule(module) } // generate Android.bp @@ -672,7 +620,7 @@ func (s *sdk) generateInfoData(ctx android.ModuleContext, memberVariantDeps []sd func filterOutComponents(ctx android.ModuleContext, deps []sdkMemberVariantDep) []sdkMemberVariantDep { // Collate the set of components that all the modules added to the sdk provide. components := map[string]*sdkMemberVariantDep{} - for i, _ := range deps { + for i := range deps { dep := &deps[i] for _, c := range dep.exportedComponentsInfo.Components { components[c] = dep @@ -707,81 +655,6 @@ func filterOutComponents(ctx android.ModuleContext, deps []sdkMemberVariantDep) return filtered } -// addSnapshotModule adds the sdk_snapshot/module_exports_snapshot module to the builder. -func (s *sdk) addSnapshotModule(ctx android.ModuleContext, builder *snapshotBuilder, sdkVariants []*sdk, memberVariantDeps []sdkMemberVariantDep) { - bpFile := builder.bpFile - - snapshotName := ctx.ModuleName() + string(android.SdkVersionSeparator) + builder.version - var snapshotModuleType string - if s.properties.Module_exports { - snapshotModuleType = "module_exports_snapshot" - } else { - snapshotModuleType = "sdk_snapshot" - } - snapshotModule := bpFile.newModule(snapshotModuleType) - snapshotModule.AddProperty("name", snapshotName) - - // Make sure that the snapshot has the same visibility as the sdk. - visibility := android.EffectiveVisibilityRules(ctx, s).Strings() - if len(visibility) != 0 { - snapshotModule.AddProperty("visibility", visibility) - } - - addHostDeviceSupportedProperties(s.ModuleBase.DeviceSupported(), s.ModuleBase.HostSupported(), snapshotModule) - - combinedPropertiesList := s.collateSnapshotModuleInfo(ctx, sdkVariants, memberVariantDeps) - commonCombinedProperties := s.optimizeSnapshotModuleProperties(ctx, combinedPropertiesList) - - s.addSnapshotPropertiesToPropertySet(builder, snapshotModule, commonCombinedProperties) - - targetPropertySet := snapshotModule.AddPropertySet("target") - - // Create a mapping from osType to combined properties. - osTypeToCombinedProperties := map[android.OsType]*combinedSnapshotModuleProperties{} - for _, combined := range combinedPropertiesList { - osTypeToCombinedProperties[combined.sdkVariant.Os()] = combined - } - - // Iterate over the os types in a fixed order. - for _, osType := range s.getPossibleOsTypes() { - if combined, ok := osTypeToCombinedProperties[osType]; ok { - osPropertySet := targetPropertySet.AddPropertySet(osType.Name) - - s.addSnapshotPropertiesToPropertySet(builder, osPropertySet, combined) - } - } - - // If host is supported and any member is host OS dependent then disable host - // by default, so that we can enable each host OS variant explicitly. This - // avoids problems with implicitly enabled OS variants when the snapshot is - // used, which might be different from this run (e.g. different build OS). - if s.HostSupported() { - var supportedHostTargets []string - for _, memberVariantDep := range memberVariantDeps { - if memberVariantDep.memberType.IsHostOsDependent() && memberVariantDep.variant.Target().Os.Class == android.Host { - targetString := memberVariantDep.variant.Target().Os.String() + "_" + memberVariantDep.variant.Target().Arch.ArchType.String() - if !android.InList(targetString, supportedHostTargets) { - supportedHostTargets = append(supportedHostTargets, targetString) - } - } - } - if len(supportedHostTargets) > 0 { - hostPropertySet := targetPropertySet.AddPropertySet("host") - hostPropertySet.AddProperty("enabled", false) - } - // Enable the _ variant explicitly when we've disabled it by default on host. - for _, hostTarget := range supportedHostTargets { - propertySet := targetPropertySet.AddPropertySet(hostTarget) - propertySet.AddProperty("enabled", true) - } - } - - // Prune any empty property sets. - snapshotModule.transform(pruneEmptySetTransformer{}) - - bpFile.AddModule(snapshotModule) -} - // Check the syntax of the generated Android.bp file contents and if they are // invalid then log an error with the contents (tagged with line numbers) and the // errors that were found so that it is easy to see where the problem lies. @@ -918,92 +791,34 @@ func (s *sdk) optimizeSnapshotModuleProperties(ctx android.ModuleContext, list [ } } -func (s *sdk) addSnapshotPropertiesToPropertySet(builder *snapshotBuilder, propertySet android.BpPropertySet, combined *combinedSnapshotModuleProperties) { - staticProperties := combined.staticProperties - multilib := staticProperties.Compile_multilib - if multilib != "" && multilib != "both" { - // Compile_multilib defaults to both so only needs to be set when it's specified and not both. - propertySet.AddProperty("compile_multilib", multilib) - } - - dynamicMemberTypeListProperties := combined.dynamicProperties - for _, memberListProperty := range s.memberTypeListProperties() { - if memberListProperty.getter == nil { - continue - } - names := memberListProperty.getter(dynamicMemberTypeListProperties) - if len(names) > 0 { - propertySet.AddProperty(memberListProperty.propertyName(), builder.versionedSdkMemberNames(names, false)) - } - } -} - type propertyTag struct { name string } var _ android.BpPropertyTag = propertyTag{} -// A BpPropertyTag to add to a property that contains references to other sdk members. +// BpPropertyTag instances to add to a property that contains references to other sdk members. // -// This will cause the references to be rewritten to a versioned reference in the version -// specific instance of a snapshot module. +// These will ensure that the referenced modules are available, if required. var requiredSdkMemberReferencePropertyTag = propertyTag{"requiredSdkMemberReferencePropertyTag"} var optionalSdkMemberReferencePropertyTag = propertyTag{"optionalSdkMemberReferencePropertyTag"} -// A BpPropertyTag that indicates the property should only be present in the versioned -// module. -// -// This will cause the property to be removed from the unversioned instance of a -// snapshot module. -var sdkVersionedOnlyPropertyTag = propertyTag{"sdkVersionedOnlyPropertyTag"} - -type unversionedToVersionedTransformation struct { +type snapshotTransformation struct { identityTransformation builder *snapshotBuilder } -func (t unversionedToVersionedTransformation) transformModule(module *bpModule) *bpModule { - // Use a versioned name for the module but remember the original name for the - // snapshot. - name := module.Name() - module.setProperty("name", t.builder.versionedSdkMemberName(name, true)) - module.insertAfter("name", "sdk_member_name", name) - // Remove the prefer property if present as versioned modules never need marking with prefer. - module.removeProperty("prefer") - // Ditto for use_source_config_var - module.removeProperty("use_source_config_var") - return module -} - -func (t unversionedToVersionedTransformation) transformProperty(name string, value interface{}, tag android.BpPropertyTag) (interface{}, android.BpPropertyTag) { - if tag == requiredSdkMemberReferencePropertyTag || tag == optionalSdkMemberReferencePropertyTag { - required := tag == requiredSdkMemberReferencePropertyTag - return t.builder.versionedSdkMemberNames(value.([]string), required), tag - } else { - return value, tag - } -} - -type unversionedTransformation struct { - identityTransformation - builder *snapshotBuilder -} - -func (t unversionedTransformation) transformModule(module *bpModule) *bpModule { +func (t snapshotTransformation) transformModule(module *bpModule) *bpModule { // If the module is an internal member then use a unique name for it. name := module.Name() - module.setProperty("name", t.builder.unversionedSdkMemberName(name, true)) + module.setProperty("name", t.builder.snapshotSdkMemberName(name, true)) return module } -func (t unversionedTransformation) transformProperty(name string, value interface{}, tag android.BpPropertyTag) (interface{}, android.BpPropertyTag) { +func (t snapshotTransformation) transformProperty(_ string, value interface{}, tag android.BpPropertyTag) (interface{}, android.BpPropertyTag) { if tag == requiredSdkMemberReferencePropertyTag || tag == optionalSdkMemberReferencePropertyTag { required := tag == requiredSdkMemberReferencePropertyTag - return t.builder.unversionedSdkMemberNames(value.([]string), required), tag - } else if tag == sdkVersionedOnlyPropertyTag { - // The property is not allowed in the unversioned module so remove it. - return nil, nil + return t.builder.snapshotSdkMemberNames(value.([]string), required), tag } else { return value, tag } @@ -1015,7 +830,7 @@ type pruneEmptySetTransformer struct { var _ bpTransformer = (*pruneEmptySetTransformer)(nil) -func (t pruneEmptySetTransformer) transformPropertySetAfterContents(name string, propertySet *bpPropertySet, tag android.BpPropertyTag) (*bpPropertySet, android.BpPropertyTag) { +func (t pruneEmptySetTransformer) transformPropertySetAfterContents(_ string, propertySet *bpPropertySet, tag android.BpPropertyTag) (*bpPropertySet, android.BpPropertyTag) { if len(propertySet.properties) == 0 { return nil, nil } else { @@ -1024,20 +839,12 @@ func (t pruneEmptySetTransformer) transformPropertySetAfterContents(name string, } func generateBpContents(contents *generatedContents, bpFile *bpFile) { - generateFilteredBpContents(contents, bpFile, func(*bpModule) bool { - return true - }) -} - -func generateFilteredBpContents(contents *generatedContents, bpFile *bpFile, moduleFilter func(module *bpModule) bool) { contents.IndentedPrintf("// This is auto-generated. DO NOT EDIT.\n") for _, bpModule := range bpFile.order { - if moduleFilter(bpModule) { - contents.IndentedPrintf("\n") - contents.IndentedPrintf("%s {\n", bpModule.moduleType) - outputPropertySet(contents, bpModule.bpPropertySet) - contents.IndentedPrintf("}\n") - } + contents.IndentedPrintf("\n") + contents.IndentedPrintf("%s {\n", bpModule.moduleType) + outputPropertySet(contents, bpModule.bpPropertySet) + contents.IndentedPrintf("}\n") } } @@ -1173,36 +980,10 @@ func (s *sdk) GetInfoContentsForTests() string { return s.builderForTests.infoContents } -func (s *sdk) GetUnversionedAndroidBpContentsForTests() string { - contents := &generatedContents{} - generateFilteredBpContents(contents, s.builderForTests.bpFile, func(module *bpModule) bool { - name := module.Name() - // Include modules that are either unversioned or have no name. - return !strings.Contains(name, "@") - }) - return contents.content.String() -} - -func (s *sdk) GetVersionedAndroidBpContentsForTests() string { - contents := &generatedContents{} - generateFilteredBpContents(contents, s.builderForTests.bpFile, func(module *bpModule) bool { - name := module.Name() - // Include modules that are either versioned or have no name. - return name == "" || strings.Contains(name, "@") - }) - return contents.content.String() -} - type snapshotBuilder struct { ctx android.ModuleContext sdk *sdk - // The version of the generated snapshot. - // - // See the documentation of SOONG_SDK_SNAPSHOT_VERSION above for details of the valid values of - // this field. - version string - snapshotDir android.OutputPath bpFile *bpFile @@ -1356,13 +1137,6 @@ func (s *snapshotBuilder) AddPrebuiltModule(member android.SdkMember, moduleType addHostDeviceSupportedProperties(deviceSupported, hostSupported, m) - // Disable installation in the versioned module of those modules that are ever installable. - if installable, ok := variant.(interface{ EverInstallable() bool }); ok { - if installable.EverInstallable() { - m.AddPropertyWithTag("installable", false, sdkVersionedOnlyPropertyTag) - } - } - s.prebuiltModules[name] = m s.prebuiltOrder = append(s.prebuiltOrder, m) return m @@ -1395,45 +1169,28 @@ func (s *snapshotBuilder) OptionalSdkMemberReferencePropertyTag() android.BpProp return optionalSdkMemberReferencePropertyTag } -// Get a versioned name appropriate for the SDK snapshot version being taken. -func (s *snapshotBuilder) versionedSdkMemberName(unversionedName string, required bool) string { - if _, ok := s.allMembersByName[unversionedName]; !ok { +// Get a name for sdk snapshot member. If the member is private then generate a snapshot specific +// name. As part of the processing this checks to make sure that any required members are part of +// the snapshot. +func (s *snapshotBuilder) snapshotSdkMemberName(name string, required bool) string { + if _, ok := s.allMembersByName[name]; !ok { if required { - s.ctx.ModuleErrorf("Required member reference %s is not a member of the sdk", unversionedName) + s.ctx.ModuleErrorf("Required member reference %s is not a member of the sdk", name) } - return unversionedName - } - return versionedSdkMemberName(s.ctx, unversionedName, s.version) -} - -func (s *snapshotBuilder) versionedSdkMemberNames(members []string, required bool) []string { - var references []string = nil - for _, m := range members { - references = append(references, s.versionedSdkMemberName(m, required)) - } - return references -} - -// Get an internal name unique to the sdk. -func (s *snapshotBuilder) unversionedSdkMemberName(unversionedName string, required bool) string { - if _, ok := s.allMembersByName[unversionedName]; !ok { - if required { - s.ctx.ModuleErrorf("Required member reference %s is not a member of the sdk", unversionedName) - } - return unversionedName + return name } - if s.isInternalMember(unversionedName) { - return s.ctx.ModuleName() + "_" + unversionedName + if s.isInternalMember(name) { + return s.ctx.ModuleName() + "_" + name } else { - return unversionedName + return name } } -func (s *snapshotBuilder) unversionedSdkMemberNames(members []string, required bool) []string { +func (s *snapshotBuilder) snapshotSdkMemberNames(members []string, required bool) []string { var references []string = nil for _, m := range members { - references = append(references, s.unversionedSdkMemberName(m, required)) + references = append(references, s.snapshotSdkMemberName(m, required)) } return references }