diff options
Diffstat (limited to 'sdk/cc_sdk_test.go')
-rw-r--r-- | sdk/cc_sdk_test.go | 843 |
1 files changed, 338 insertions, 505 deletions
diff --git a/sdk/cc_sdk_test.go b/sdk/cc_sdk_test.go index b1eebe98c..359177771 100644 --- a/sdk/cc_sdk_test.go +++ b/sdk/cc_sdk_test.go @@ -22,14 +22,14 @@ import ( ) var ccTestFs = map[string][]byte{ - "Test.cpp": nil, - "include/Test.h": nil, - "include-android/AndroidTest.h": nil, - "include-host/HostTest.h": nil, - "arm64/include/Arm64Test.h": nil, - "libfoo.so": nil, - "aidl/foo/bar/Test.aidl": nil, - "some/where/stubslib.map.txt": nil, + "Test.cpp": nil, + "myinclude/Test.h": nil, + "myinclude-android/AndroidTest.h": nil, + "myinclude-host/HostTest.h": nil, + "arm64/include/Arm64Test.h": nil, + "libfoo.so": nil, + "aidl/foo/bar/Test.aidl": nil, + "some/where/stubslib.map.txt": nil, } func testSdkWithCc(t *testing.T, bp string) *testSdkResult { @@ -102,16 +102,15 @@ func TestSdkCompileMultilibOverride(t *testing.T) { `) result.CheckSnapshot("mysdk", "", - checkAndroidBpContents(` + checkUnversionedAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library_shared { - name: "mysdk_sdkmember@current", - sdk_member_name: "sdkmember", + name: "sdkmember", + prefer: false, visibility: ["//visibility:public"], apex_available: ["//apex_available:platform"], host_supported: true, - installable: false, stl: "none", compile_multilib: "64", target: { @@ -127,13 +126,17 @@ cc_prebuilt_library_shared { }, }, } +`), + checkVersionedAndroidBpContents(` +// This is auto-generated. DO NOT EDIT. cc_prebuilt_library_shared { - name: "sdkmember", - prefer: false, + 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: { @@ -248,6 +251,7 @@ func TestBasicSdkWithCc(t *testing.T) { uses_sdks: ["mysdk@1"], key: "myapex.key", certificate: ":myapex.cert", + updatable: false, } apex { @@ -256,6 +260,7 @@ func TestBasicSdkWithCc(t *testing.T) { uses_sdks: ["mysdk@2"], key: "myapex.key", certificate: ":myapex.cert", + updatable: false, } apex { @@ -263,6 +268,7 @@ func TestBasicSdkWithCc(t *testing.T) { native_shared_libs: ["sdkmember"], key: "myapex.key", certificate: ":myapex.cert", + updatable: false, } `) @@ -348,12 +354,12 @@ func TestSnapshotWithObject(t *testing.T) { `) result.CheckSnapshot("mysdk", "", - checkAndroidBpContents(` + checkUnversionedAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_object { - name: "mysdk_crtobj@current", - sdk_member_name: "crtobj", + name: "crtobj", + prefer: false, visibility: ["//visibility:public"], apex_available: ["//apex_available:platform"], stl: "none", @@ -370,10 +376,14 @@ 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: "crtobj", - prefer: false, + name: "mysdk_crtobj@current", + sdk_member_name: "crtobj", visibility: ["//visibility:public"], apex_available: ["//apex_available:platform"], stl: "none", @@ -416,7 +426,7 @@ func TestSnapshotWithCcDuplicateHeaders(t *testing.T) { srcs: [ "Test.cpp", ], - export_include_dirs: ["include"], + export_include_dirs: ["myinclude"], stl: "none", } @@ -425,14 +435,14 @@ func TestSnapshotWithCcDuplicateHeaders(t *testing.T) { srcs: [ "Test.cpp", ], - export_include_dirs: ["include"], + export_include_dirs: ["myinclude"], stl: "none", } `) result.CheckSnapshot("mysdk", "", checkAllCopyRules(` -include/Test.h -> include/include/Test.h +myinclude/Test.h -> include/myinclude/Test.h .intermediates/mynativelib1/android_arm64_armv8-a_shared/mynativelib1.so -> arm64/lib/mynativelib1.so .intermediates/mynativelib1/android_arm_armv7-a-neon_shared/mynativelib1.so -> arm/lib/mynativelib1.so .intermediates/mynativelib2/android_arm64_armv8-a_shared/mynativelib2.so -> arm64/lib/mynativelib2.so @@ -441,6 +451,76 @@ include/Test.h -> include/include/Test.h ) } +func TestSnapshotWithCcExportGeneratedHeaders(t *testing.T) { + result := testSdkWithCc(t, ` + sdk { + name: "mysdk", + native_shared_libs: ["mynativelib"], + } + + cc_library_shared { + name: "mynativelib", + srcs: [ + "Test.cpp", + ], + generated_headers: [ + "generated_foo", + ], + export_generated_headers: [ + "generated_foo", + ], + export_include_dirs: ["myinclude"], + stl: "none", + } + + genrule { + name: "generated_foo", + cmd: "generate-foo", + out: [ + "generated_foo/protos/foo/bar.h", + ], + export_include_dirs: [ + ".", + "protos", + ], + } + `) + + result.CheckSnapshot("mysdk", "", + checkUnversionedAndroidBpContents(` +// This is auto-generated. DO NOT EDIT. + +cc_prebuilt_library_shared { + name: "mynativelib", + prefer: false, + visibility: ["//visibility:public"], + apex_available: ["//apex_available:platform"], + stl: "none", + compile_multilib: "both", + export_include_dirs: [ + "include/myinclude", + "include_gen/generated_foo/gen", + "include_gen/generated_foo/gen/protos", + ], + arch: { + arm64: { + srcs: ["arm64/lib/mynativelib.so"], + }, + arm: { + srcs: ["arm/lib/mynativelib.so"], + }, + }, +} +`), + checkAllCopyRules(` +myinclude/Test.h -> include/myinclude/Test.h +.intermediates/generated_foo/gen/generated_foo/protos/foo/bar.h -> include_gen/generated_foo/gen/generated_foo/protos/foo/bar.h +.intermediates/mynativelib/android_arm64_armv8-a_shared/mynativelib.so -> arm64/lib/mynativelib.so +.intermediates/mynativelib/android_arm_armv7-a-neon_shared/mynativelib.so -> arm/lib/mynativelib.so +`), + ) +} + // Verify that when the shared library has some common and some arch specific // properties that the generated snapshot is optimized properly. Substruct // handling is tested with the sanitize clauses (but note there's a lot of @@ -458,7 +538,7 @@ func TestSnapshotWithCcSharedLibraryCommonProperties(t *testing.T) { "Test.cpp", "aidl/foo/bar/Test.aidl", ], - export_include_dirs: ["include"], + export_include_dirs: ["myinclude"], sanitize: { fuzzer: false, integer_overflow: true, @@ -477,49 +557,17 @@ func TestSnapshotWithCcSharedLibraryCommonProperties(t *testing.T) { `) result.CheckSnapshot("mysdk", "", - checkAndroidBpContents(` + checkUnversionedAndroidBpContents(` // 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"], - installable: false, - stl: "none", - compile_multilib: "both", - export_include_dirs: ["include/include"], - sanitize: { - fuzzer: false, - diag: { - undefined: false, - }, - }, - arch: { - arm64: { - srcs: ["arm64/lib/mynativelib.so"], - export_system_include_dirs: ["arm64/include/arm64/include"], - sanitize: { - integer_overflow: false, - }, - }, - arm: { - srcs: ["arm/lib/mynativelib.so"], - sanitize: { - integer_overflow: true, - }, - }, - }, -} - -cc_prebuilt_library_shared { name: "mynativelib", prefer: false, visibility: ["//visibility:public"], apex_available: ["//apex_available:platform"], stl: "none", compile_multilib: "both", - export_include_dirs: ["include/include"], + export_include_dirs: ["include/myinclude"], sanitize: { fuzzer: false, diag: { @@ -542,15 +590,9 @@ cc_prebuilt_library_shared { }, }, } - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - native_shared_libs: ["mysdk_mynativelib@current"], -} `), checkAllCopyRules(` -include/Test.h -> include/include/Test.h +myinclude/Test.h -> include/myinclude/Test.h .intermediates/mynativelib/android_arm64_armv8-a_shared/mynativelib.so -> arm64/lib/mynativelib.so arm64/include/Arm64Test.h -> arm64/include/arm64/include/Arm64Test.h .intermediates/mynativelib/android_arm_armv7-a-neon_shared/mynativelib.so -> arm/lib/mynativelib.so`), @@ -574,15 +616,14 @@ func TestSnapshotWithCcBinary(t *testing.T) { `) result.CheckSnapshot("mymodule_exports", "", - checkAndroidBpContents(` + checkUnversionedAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_binary { - name: "mymodule_exports_mynativebinary@current", - sdk_member_name: "mynativebinary", + name: "mynativebinary", + prefer: false, visibility: ["//visibility:public"], apex_available: ["//apex_available:platform"], - installable: false, compile_multilib: "both", arch: { arm64: { @@ -593,12 +634,17 @@ 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: "mynativebinary", - prefer: false, + name: "mymodule_exports_mynativebinary@current", + sdk_member_name: "mynativebinary", visibility: ["//visibility:public"], apex_available: ["//apex_available:platform"], + installable: false, compile_multilib: "both", arch: { arm64: { @@ -655,17 +701,16 @@ func TestMultipleHostOsTypesSnapshotWithCcBinary(t *testing.T) { `) result.CheckSnapshot("myexports", "", - checkAndroidBpContents(` + checkUnversionedAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_binary { - name: "myexports_mynativebinary@current", - sdk_member_name: "mynativebinary", + name: "mynativebinary", + prefer: false, visibility: ["//visibility:public"], apex_available: ["//apex_available:platform"], device_supported: false, host_supported: true, - installable: false, stl: "none", target: { host: { @@ -691,14 +736,18 @@ cc_prebuilt_binary { }, }, } +`), + checkVersionedAndroidBpContents(` +// This is auto-generated. DO NOT EDIT. cc_prebuilt_binary { - name: "mynativebinary", - prefer: false, + 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: { @@ -805,17 +854,16 @@ func TestSnapshotWithSingleHostOsType(t *testing.T) { result := runTests(t, ctx, config) result.CheckSnapshot("myexports", "", - checkAndroidBpContents(` + checkUnversionedAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_binary { - name: "myexports_mynativebinary@current", - sdk_member_name: "mynativebinary", + name: "mynativebinary", + prefer: false, visibility: ["//visibility:public"], apex_available: ["//apex_available:platform"], device_supported: false, host_supported: true, - installable: false, stl: "none", compile_multilib: "64", target: { @@ -829,8 +877,8 @@ cc_prebuilt_binary { }, } -cc_prebuilt_binary { - name: "mynativebinary", +cc_prebuilt_library_shared { + name: "mynativelib", prefer: false, visibility: ["//visibility:public"], apex_available: ["//apex_available:platform"], @@ -844,14 +892,17 @@ cc_prebuilt_binary { }, linux_bionic_x86_64: { enabled: true, - srcs: ["x86_64/bin/mynativebinary"], + srcs: ["x86_64/lib/mynativelib.so"], }, }, } +`), + checkVersionedAndroidBpContents(` +// This is auto-generated. DO NOT EDIT. -cc_prebuilt_library_shared { - name: "myexports_mynativelib@current", - sdk_member_name: "mynativelib", +cc_prebuilt_binary { + name: "myexports_mynativebinary@current", + sdk_member_name: "mynativebinary", visibility: ["//visibility:public"], apex_available: ["//apex_available:platform"], device_supported: false, @@ -865,18 +916,19 @@ cc_prebuilt_library_shared { }, linux_bionic_x86_64: { enabled: true, - srcs: ["x86_64/lib/mynativelib.so"], + srcs: ["x86_64/bin/mynativebinary"], }, }, } cc_prebuilt_library_shared { - name: "mynativelib", - prefer: false, + 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: { @@ -940,17 +992,16 @@ func TestSnapshotWithCcStaticNocrtBinary(t *testing.T) { `) result.CheckSnapshot("mymodule_exports", "", - checkAndroidBpContents(` + checkUnversionedAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_binary { - name: "mymodule_exports_linker@current", - sdk_member_name: "linker", + name: "linker", + prefer: false, visibility: ["//visibility:public"], apex_available: ["//apex_available:platform"], device_supported: false, host_supported: true, - installable: false, stl: "none", compile_multilib: "both", static_executable: true, @@ -969,14 +1020,18 @@ cc_prebuilt_binary { }, }, } +`), + checkVersionedAndroidBpContents(` +// This is auto-generated. DO NOT EDIT. cc_prebuilt_binary { - name: "linker", - prefer: false, + 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, @@ -1036,7 +1091,7 @@ func TestSnapshotWithCcSharedLibrary(t *testing.T) { "aidl/foo/bar/Test.aidl", ], apex_available: ["apex1", "apex2"], - export_include_dirs: ["include"], + export_include_dirs: ["myinclude"], aidl: { export_aidl_headers: true, }, @@ -1045,34 +1100,10 @@ func TestSnapshotWithCcSharedLibrary(t *testing.T) { `) result.CheckSnapshot("mysdk", "", - checkAndroidBpContents(` + checkUnversionedAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library_shared { - name: "mysdk_mynativelib@current", - sdk_member_name: "mynativelib", - visibility: ["//visibility:public"], - apex_available: [ - "apex1", - "apex2", - ], - installable: false, - stl: "none", - compile_multilib: "both", - export_include_dirs: ["include/include"], - arch: { - arm64: { - srcs: ["arm64/lib/mynativelib.so"], - export_include_dirs: ["arm64/include_gen/mynativelib"], - }, - arm: { - srcs: ["arm/lib/mynativelib.so"], - export_include_dirs: ["arm/include_gen/mynativelib"], - }, - }, -} - -cc_prebuilt_library_shared { name: "mynativelib", prefer: false, visibility: ["//visibility:public"], @@ -1082,35 +1113,29 @@ cc_prebuilt_library_shared { ], stl: "none", compile_multilib: "both", - export_include_dirs: ["include/include"], + export_include_dirs: ["include/myinclude"], arch: { arm64: { srcs: ["arm64/lib/mynativelib.so"], - export_include_dirs: ["arm64/include_gen/mynativelib"], + export_include_dirs: ["arm64/include_gen/mynativelib/android_arm64_armv8-a_shared/gen/aidl"], }, arm: { srcs: ["arm/lib/mynativelib.so"], - export_include_dirs: ["arm/include_gen/mynativelib"], + export_include_dirs: ["arm/include_gen/mynativelib/android_arm_armv7-a-neon_shared/gen/aidl"], }, }, } - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - native_shared_libs: ["mysdk_mynativelib@current"], -} `), checkAllCopyRules(` -include/Test.h -> include/include/Test.h +myinclude/Test.h -> include/myinclude/Test.h .intermediates/mynativelib/android_arm64_armv8-a_shared/mynativelib.so -> arm64/lib/mynativelib.so -.intermediates/mynativelib/android_arm64_armv8-a_shared/gen/aidl/aidl/foo/bar/Test.h -> arm64/include_gen/mynativelib/aidl/foo/bar/Test.h -.intermediates/mynativelib/android_arm64_armv8-a_shared/gen/aidl/aidl/foo/bar/BnTest.h -> arm64/include_gen/mynativelib/aidl/foo/bar/BnTest.h -.intermediates/mynativelib/android_arm64_armv8-a_shared/gen/aidl/aidl/foo/bar/BpTest.h -> arm64/include_gen/mynativelib/aidl/foo/bar/BpTest.h +.intermediates/mynativelib/android_arm64_armv8-a_shared/gen/aidl/aidl/foo/bar/Test.h -> arm64/include_gen/mynativelib/android_arm64_armv8-a_shared/gen/aidl/aidl/foo/bar/Test.h +.intermediates/mynativelib/android_arm64_armv8-a_shared/gen/aidl/aidl/foo/bar/BnTest.h -> arm64/include_gen/mynativelib/android_arm64_armv8-a_shared/gen/aidl/aidl/foo/bar/BnTest.h +.intermediates/mynativelib/android_arm64_armv8-a_shared/gen/aidl/aidl/foo/bar/BpTest.h -> arm64/include_gen/mynativelib/android_arm64_armv8-a_shared/gen/aidl/aidl/foo/bar/BpTest.h .intermediates/mynativelib/android_arm_armv7-a-neon_shared/mynativelib.so -> arm/lib/mynativelib.so -.intermediates/mynativelib/android_arm_armv7-a-neon_shared/gen/aidl/aidl/foo/bar/Test.h -> arm/include_gen/mynativelib/aidl/foo/bar/Test.h -.intermediates/mynativelib/android_arm_armv7-a-neon_shared/gen/aidl/aidl/foo/bar/BnTest.h -> arm/include_gen/mynativelib/aidl/foo/bar/BnTest.h -.intermediates/mynativelib/android_arm_armv7-a-neon_shared/gen/aidl/aidl/foo/bar/BpTest.h -> arm/include_gen/mynativelib/aidl/foo/bar/BpTest.h +.intermediates/mynativelib/android_arm_armv7-a-neon_shared/gen/aidl/aidl/foo/bar/Test.h -> arm/include_gen/mynativelib/android_arm_armv7-a-neon_shared/gen/aidl/aidl/foo/bar/Test.h +.intermediates/mynativelib/android_arm_armv7-a-neon_shared/gen/aidl/aidl/foo/bar/BnTest.h -> arm/include_gen/mynativelib/android_arm_armv7-a-neon_shared/gen/aidl/aidl/foo/bar/BnTest.h +.intermediates/mynativelib/android_arm_armv7-a-neon_shared/gen/aidl/aidl/foo/bar/BpTest.h -> arm/include_gen/mynativelib/android_arm_armv7-a-neon_shared/gen/aidl/aidl/foo/bar/BpTest.h `), ) } @@ -1176,32 +1201,10 @@ func TestSnapshotWithCcSharedLibrarySharedLibs(t *testing.T) { `) result.CheckSnapshot("mysdk", "", - checkAndroidBpContents(` + checkUnversionedAndroidBpContents(` // 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"], - installable: false, - stl: "none", - compile_multilib: "both", - shared_libs: [ - "mysdk_myothernativelib@current", - "libc", - ], - arch: { - arm64: { - srcs: ["arm64/lib/mynativelib.so"], - }, - arm: { - srcs: ["arm/lib/mynativelib.so"], - }, - }, -} - -cc_prebuilt_library_shared { name: "mynativelib", prefer: false, visibility: ["//visibility:public"], @@ -1223,25 +1226,6 @@ cc_prebuilt_library_shared { } cc_prebuilt_library_shared { - name: "mysdk_myothernativelib@current", - sdk_member_name: "myothernativelib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - installable: false, - stl: "none", - compile_multilib: "both", - system_shared_libs: ["libm"], - arch: { - arm64: { - srcs: ["arm64/lib/myothernativelib.so"], - }, - arm: { - srcs: ["arm/lib/myothernativelib.so"], - }, - }, -} - -cc_prebuilt_library_shared { name: "myothernativelib", prefer: false, visibility: ["//visibility:public"], @@ -1260,24 +1244,6 @@ cc_prebuilt_library_shared { } cc_prebuilt_library_shared { - name: "mysdk_mysystemnativelib@current", - sdk_member_name: "mysystemnativelib", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - installable: false, - stl: "none", - compile_multilib: "both", - arch: { - arm64: { - srcs: ["arm64/lib/mysystemnativelib.so"], - }, - arm: { - srcs: ["arm/lib/mysystemnativelib.so"], - }, - }, -} - -cc_prebuilt_library_shared { name: "mysystemnativelib", prefer: false, visibility: ["//visibility:public"], @@ -1293,16 +1259,6 @@ cc_prebuilt_library_shared { }, }, } - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - native_shared_libs: [ - "mysdk_mynativelib@current", - "mysdk_myothernativelib@current", - "mysdk_mysystemnativelib@current", - ], -} `), checkAllCopyRules(` .intermediates/mynativelib/android_arm64_armv8-a_shared/mynativelib.so -> arm64/lib/mynativelib.so @@ -1332,7 +1288,7 @@ func TestHostSnapshotWithCcSharedLibrary(t *testing.T) { "Test.cpp", "aidl/foo/bar/Test.aidl", ], - export_include_dirs: ["include"], + export_include_dirs: ["myinclude"], aidl: { export_aidl_headers: true, }, @@ -1342,21 +1298,20 @@ func TestHostSnapshotWithCcSharedLibrary(t *testing.T) { `) result.CheckSnapshot("mysdk", "", - checkAndroidBpContents(` + checkUnversionedAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library_shared { - name: "mysdk_mynativelib@current", - sdk_member_name: "mynativelib", + name: "mynativelib", + prefer: false, 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/include"], + export_include_dirs: ["include/myinclude"], target: { host: { enabled: false, @@ -1364,27 +1319,31 @@ cc_prebuilt_library_shared { linux_glibc_x86_64: { enabled: true, srcs: ["x86_64/lib/mynativelib.so"], - export_include_dirs: ["x86_64/include_gen/mynativelib"], + 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"], + export_include_dirs: ["x86/include_gen/mynativelib/linux_glibc_x86_shared/gen/aidl"], }, }, } +`), + checkVersionedAndroidBpContents(` +// This is auto-generated. DO NOT EDIT. cc_prebuilt_library_shared { - name: "mynativelib", - prefer: false, + 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/include"], + export_include_dirs: ["include/myinclude"], target: { host: { enabled: false, @@ -1392,12 +1351,12 @@ cc_prebuilt_library_shared { linux_glibc_x86_64: { enabled: true, srcs: ["x86_64/lib/mynativelib.so"], - export_include_dirs: ["x86_64/include_gen/mynativelib"], + 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"], + export_include_dirs: ["x86/include_gen/mynativelib/linux_glibc_x86_shared/gen/aidl"], }, }, } @@ -1422,15 +1381,15 @@ sdk_snapshot { } `), checkAllCopyRules(` -include/Test.h -> include/include/Test.h +myinclude/Test.h -> include/myinclude/Test.h .intermediates/mynativelib/linux_glibc_x86_64_shared/mynativelib.so -> x86_64/lib/mynativelib.so -.intermediates/mynativelib/linux_glibc_x86_64_shared/gen/aidl/aidl/foo/bar/Test.h -> x86_64/include_gen/mynativelib/aidl/foo/bar/Test.h -.intermediates/mynativelib/linux_glibc_x86_64_shared/gen/aidl/aidl/foo/bar/BnTest.h -> x86_64/include_gen/mynativelib/aidl/foo/bar/BnTest.h -.intermediates/mynativelib/linux_glibc_x86_64_shared/gen/aidl/aidl/foo/bar/BpTest.h -> x86_64/include_gen/mynativelib/aidl/foo/bar/BpTest.h +.intermediates/mynativelib/linux_glibc_x86_64_shared/gen/aidl/aidl/foo/bar/Test.h -> x86_64/include_gen/mynativelib/linux_glibc_x86_64_shared/gen/aidl/aidl/foo/bar/Test.h +.intermediates/mynativelib/linux_glibc_x86_64_shared/gen/aidl/aidl/foo/bar/BnTest.h -> x86_64/include_gen/mynativelib/linux_glibc_x86_64_shared/gen/aidl/aidl/foo/bar/BnTest.h +.intermediates/mynativelib/linux_glibc_x86_64_shared/gen/aidl/aidl/foo/bar/BpTest.h -> x86_64/include_gen/mynativelib/linux_glibc_x86_64_shared/gen/aidl/aidl/foo/bar/BpTest.h .intermediates/mynativelib/linux_glibc_x86_shared/mynativelib.so -> x86/lib/mynativelib.so -.intermediates/mynativelib/linux_glibc_x86_shared/gen/aidl/aidl/foo/bar/Test.h -> x86/include_gen/mynativelib/aidl/foo/bar/Test.h -.intermediates/mynativelib/linux_glibc_x86_shared/gen/aidl/aidl/foo/bar/BnTest.h -> x86/include_gen/mynativelib/aidl/foo/bar/BnTest.h -.intermediates/mynativelib/linux_glibc_x86_shared/gen/aidl/aidl/foo/bar/BpTest.h -> x86/include_gen/mynativelib/aidl/foo/bar/BpTest.h +.intermediates/mynativelib/linux_glibc_x86_shared/gen/aidl/aidl/foo/bar/Test.h -> x86/include_gen/mynativelib/linux_glibc_x86_shared/gen/aidl/aidl/foo/bar/Test.h +.intermediates/mynativelib/linux_glibc_x86_shared/gen/aidl/aidl/foo/bar/BnTest.h -> x86/include_gen/mynativelib/linux_glibc_x86_shared/gen/aidl/aidl/foo/bar/BnTest.h +.intermediates/mynativelib/linux_glibc_x86_shared/gen/aidl/aidl/foo/bar/BpTest.h -> x86/include_gen/mynativelib/linux_glibc_x86_shared/gen/aidl/aidl/foo/bar/BpTest.h `), ) } @@ -1466,17 +1425,16 @@ func TestMultipleHostOsTypesSnapshotWithCcSharedLibrary(t *testing.T) { `) result.CheckSnapshot("mysdk", "", - checkAndroidBpContents(` + checkUnversionedAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library_shared { - name: "mysdk_mynativelib@current", - sdk_member_name: "mynativelib", + name: "mynativelib", + prefer: false, visibility: ["//visibility:public"], apex_available: ["//apex_available:platform"], device_supported: false, host_supported: true, - installable: false, stl: "none", target: { host: { @@ -1502,14 +1460,18 @@ cc_prebuilt_library_shared { }, }, } +`), + checkVersionedAndroidBpContents(` +// This is auto-generated. DO NOT EDIT. cc_prebuilt_library_shared { - name: "mynativelib", - prefer: false, + 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: { @@ -1582,7 +1544,7 @@ func TestSnapshotWithCcStaticLibrary(t *testing.T) { "Test.cpp", "aidl/foo/bar/Test.aidl", ], - export_include_dirs: ["include"], + export_include_dirs: ["myinclude"], aidl: { export_aidl_headers: true, }, @@ -1591,66 +1553,39 @@ func TestSnapshotWithCcStaticLibrary(t *testing.T) { `) result.CheckSnapshot("myexports", "", - checkAndroidBpContents(` + checkUnversionedAndroidBpContents(` // 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"], - installable: false, - stl: "none", - compile_multilib: "both", - export_include_dirs: ["include/include"], - arch: { - arm64: { - srcs: ["arm64/lib/mynativelib.a"], - export_include_dirs: ["arm64/include_gen/mynativelib"], - }, - arm: { - srcs: ["arm/lib/mynativelib.a"], - export_include_dirs: ["arm/include_gen/mynativelib"], - }, - }, -} - -cc_prebuilt_library_static { name: "mynativelib", prefer: false, visibility: ["//visibility:public"], apex_available: ["//apex_available:platform"], stl: "none", compile_multilib: "both", - export_include_dirs: ["include/include"], + export_include_dirs: ["include/myinclude"], arch: { arm64: { srcs: ["arm64/lib/mynativelib.a"], - export_include_dirs: ["arm64/include_gen/mynativelib"], + export_include_dirs: ["arm64/include_gen/mynativelib/android_arm64_armv8-a_static/gen/aidl"], }, arm: { srcs: ["arm/lib/mynativelib.a"], - export_include_dirs: ["arm/include_gen/mynativelib"], + export_include_dirs: ["arm/include_gen/mynativelib/android_arm_armv7-a-neon_static/gen/aidl"], }, }, } - -module_exports_snapshot { - name: "myexports@current", - visibility: ["//visibility:public"], - native_static_libs: ["myexports_mynativelib@current"], -} `), checkAllCopyRules(` -include/Test.h -> include/include/Test.h +myinclude/Test.h -> include/myinclude/Test.h .intermediates/mynativelib/android_arm64_armv8-a_static/mynativelib.a -> arm64/lib/mynativelib.a -.intermediates/mynativelib/android_arm64_armv8-a_static/gen/aidl/aidl/foo/bar/Test.h -> arm64/include_gen/mynativelib/aidl/foo/bar/Test.h -.intermediates/mynativelib/android_arm64_armv8-a_static/gen/aidl/aidl/foo/bar/BnTest.h -> arm64/include_gen/mynativelib/aidl/foo/bar/BnTest.h -.intermediates/mynativelib/android_arm64_armv8-a_static/gen/aidl/aidl/foo/bar/BpTest.h -> arm64/include_gen/mynativelib/aidl/foo/bar/BpTest.h +.intermediates/mynativelib/android_arm64_armv8-a_static/gen/aidl/aidl/foo/bar/Test.h -> arm64/include_gen/mynativelib/android_arm64_armv8-a_static/gen/aidl/aidl/foo/bar/Test.h +.intermediates/mynativelib/android_arm64_armv8-a_static/gen/aidl/aidl/foo/bar/BnTest.h -> arm64/include_gen/mynativelib/android_arm64_armv8-a_static/gen/aidl/aidl/foo/bar/BnTest.h +.intermediates/mynativelib/android_arm64_armv8-a_static/gen/aidl/aidl/foo/bar/BpTest.h -> arm64/include_gen/mynativelib/android_arm64_armv8-a_static/gen/aidl/aidl/foo/bar/BpTest.h .intermediates/mynativelib/android_arm_armv7-a-neon_static/mynativelib.a -> arm/lib/mynativelib.a -.intermediates/mynativelib/android_arm_armv7-a-neon_static/gen/aidl/aidl/foo/bar/Test.h -> arm/include_gen/mynativelib/aidl/foo/bar/Test.h -.intermediates/mynativelib/android_arm_armv7-a-neon_static/gen/aidl/aidl/foo/bar/BnTest.h -> arm/include_gen/mynativelib/aidl/foo/bar/BnTest.h -.intermediates/mynativelib/android_arm_armv7-a-neon_static/gen/aidl/aidl/foo/bar/BpTest.h -> arm/include_gen/mynativelib/aidl/foo/bar/BpTest.h +.intermediates/mynativelib/android_arm_armv7-a-neon_static/gen/aidl/aidl/foo/bar/Test.h -> arm/include_gen/mynativelib/android_arm_armv7-a-neon_static/gen/aidl/aidl/foo/bar/Test.h +.intermediates/mynativelib/android_arm_armv7-a-neon_static/gen/aidl/aidl/foo/bar/BnTest.h -> arm/include_gen/mynativelib/android_arm_armv7-a-neon_static/gen/aidl/aidl/foo/bar/BnTest.h +.intermediates/mynativelib/android_arm_armv7-a-neon_static/gen/aidl/aidl/foo/bar/BpTest.h -> arm/include_gen/mynativelib/android_arm_armv7-a-neon_static/gen/aidl/aidl/foo/bar/BpTest.h `), ) } @@ -1672,7 +1607,7 @@ func TestHostSnapshotWithCcStaticLibrary(t *testing.T) { "Test.cpp", "aidl/foo/bar/Test.aidl", ], - export_include_dirs: ["include"], + export_include_dirs: ["myinclude"], aidl: { export_aidl_headers: true, }, @@ -1681,20 +1616,19 @@ func TestHostSnapshotWithCcStaticLibrary(t *testing.T) { `) result.CheckSnapshot("myexports", "", - checkAndroidBpContents(` + checkUnversionedAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library_static { - name: "myexports_mynativelib@current", - sdk_member_name: "mynativelib", + name: "mynativelib", + prefer: false, 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/include"], + export_include_dirs: ["include/myinclude"], target: { host: { enabled: false, @@ -1702,26 +1636,30 @@ cc_prebuilt_library_static { linux_glibc_x86_64: { enabled: true, srcs: ["x86_64/lib/mynativelib.a"], - export_include_dirs: ["x86_64/include_gen/mynativelib"], + 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"], + export_include_dirs: ["x86/include_gen/mynativelib/linux_glibc_x86_static/gen/aidl"], }, }, } +`), + checkVersionedAndroidBpContents(` +// This is auto-generated. DO NOT EDIT. cc_prebuilt_library_static { - name: "mynativelib", - prefer: false, + 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/include"], + export_include_dirs: ["include/myinclude"], target: { host: { enabled: false, @@ -1729,12 +1667,12 @@ cc_prebuilt_library_static { linux_glibc_x86_64: { enabled: true, srcs: ["x86_64/lib/mynativelib.a"], - export_include_dirs: ["x86_64/include_gen/mynativelib"], + 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"], + export_include_dirs: ["x86/include_gen/mynativelib/linux_glibc_x86_static/gen/aidl"], }, }, } @@ -1759,15 +1697,15 @@ module_exports_snapshot { } `), checkAllCopyRules(` -include/Test.h -> include/include/Test.h +myinclude/Test.h -> include/myinclude/Test.h .intermediates/mynativelib/linux_glibc_x86_64_static/mynativelib.a -> x86_64/lib/mynativelib.a -.intermediates/mynativelib/linux_glibc_x86_64_static/gen/aidl/aidl/foo/bar/Test.h -> x86_64/include_gen/mynativelib/aidl/foo/bar/Test.h -.intermediates/mynativelib/linux_glibc_x86_64_static/gen/aidl/aidl/foo/bar/BnTest.h -> x86_64/include_gen/mynativelib/aidl/foo/bar/BnTest.h -.intermediates/mynativelib/linux_glibc_x86_64_static/gen/aidl/aidl/foo/bar/BpTest.h -> x86_64/include_gen/mynativelib/aidl/foo/bar/BpTest.h +.intermediates/mynativelib/linux_glibc_x86_64_static/gen/aidl/aidl/foo/bar/Test.h -> x86_64/include_gen/mynativelib/linux_glibc_x86_64_static/gen/aidl/aidl/foo/bar/Test.h +.intermediates/mynativelib/linux_glibc_x86_64_static/gen/aidl/aidl/foo/bar/BnTest.h -> x86_64/include_gen/mynativelib/linux_glibc_x86_64_static/gen/aidl/aidl/foo/bar/BnTest.h +.intermediates/mynativelib/linux_glibc_x86_64_static/gen/aidl/aidl/foo/bar/BpTest.h -> x86_64/include_gen/mynativelib/linux_glibc_x86_64_static/gen/aidl/aidl/foo/bar/BpTest.h .intermediates/mynativelib/linux_glibc_x86_static/mynativelib.a -> x86/lib/mynativelib.a -.intermediates/mynativelib/linux_glibc_x86_static/gen/aidl/aidl/foo/bar/Test.h -> x86/include_gen/mynativelib/aidl/foo/bar/Test.h -.intermediates/mynativelib/linux_glibc_x86_static/gen/aidl/aidl/foo/bar/BnTest.h -> x86/include_gen/mynativelib/aidl/foo/bar/BnTest.h -.intermediates/mynativelib/linux_glibc_x86_static/gen/aidl/aidl/foo/bar/BpTest.h -> x86/include_gen/mynativelib/aidl/foo/bar/BpTest.h +.intermediates/mynativelib/linux_glibc_x86_static/gen/aidl/aidl/foo/bar/Test.h -> x86/include_gen/mynativelib/linux_glibc_x86_static/gen/aidl/aidl/foo/bar/Test.h +.intermediates/mynativelib/linux_glibc_x86_static/gen/aidl/aidl/foo/bar/BnTest.h -> x86/include_gen/mynativelib/linux_glibc_x86_static/gen/aidl/aidl/foo/bar/BnTest.h +.intermediates/mynativelib/linux_glibc_x86_static/gen/aidl/aidl/foo/bar/BpTest.h -> x86/include_gen/mynativelib/linux_glibc_x86_static/gen/aidl/aidl/foo/bar/BpTest.h `), ) } @@ -1784,7 +1722,7 @@ func TestSnapshotWithCcLibrary(t *testing.T) { srcs: [ "Test.cpp", ], - export_include_dirs: ["include"], + export_include_dirs: ["myinclude"], stl: "none", recovery_available: true, vendor_available: true, @@ -1792,20 +1730,19 @@ func TestSnapshotWithCcLibrary(t *testing.T) { `) result.CheckSnapshot("myexports", "", - checkAndroidBpContents(` + checkUnversionedAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library { - name: "myexports_mynativelib@current", - sdk_member_name: "mynativelib", + name: "mynativelib", + prefer: false, visibility: ["//visibility:public"], apex_available: ["//apex_available:platform"], - installable: false, recovery_available: true, vendor_available: true, stl: "none", compile_multilib: "both", - export_include_dirs: ["include/include"], + export_include_dirs: ["include/myinclude"], arch: { arm64: { static: { @@ -1825,17 +1762,22 @@ 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: "mynativelib", - prefer: false, + name: "myexports_mynativelib@current", + sdk_member_name: "mynativelib", visibility: ["//visibility:public"], apex_available: ["//apex_available:platform"], + installable: false, recovery_available: true, vendor_available: true, stl: "none", compile_multilib: "both", - export_include_dirs: ["include/include"], + export_include_dirs: ["include/myinclude"], arch: { arm64: { static: { @@ -1863,7 +1805,7 @@ module_exports_snapshot { } `), checkAllCopyRules(` -include/Test.h -> include/include/Test.h +myinclude/Test.h -> include/myinclude/Test.h .intermediates/mynativelib/android_arm64_armv8-a_static/mynativelib.a -> arm64/lib/mynativelib.a .intermediates/mynativelib/android_arm64_armv8-a_shared/mynativelib.so -> arm64/lib/mynativelib.so .intermediates/mynativelib/android_arm_armv7-a-neon_static/mynativelib.a -> arm/lib/mynativelib.a @@ -1893,7 +1835,7 @@ func TestHostSnapshotWithMultiLib64(t *testing.T) { "Test.cpp", "aidl/foo/bar/Test.aidl", ], - export_include_dirs: ["include"], + export_include_dirs: ["myinclude"], aidl: { export_aidl_headers: true, }, @@ -1902,20 +1844,22 @@ func TestHostSnapshotWithMultiLib64(t *testing.T) { `) result.CheckSnapshot("myexports", "", - checkAndroidBpContents(` + checkUnversionedAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library_static { - name: "myexports_mynativelib@current", - sdk_member_name: "mynativelib", + name: "mynativelib", + prefer: false, 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/include"], + export_include_dirs: [ + "include/myinclude", + "include_gen/mynativelib/linux_glibc_x86_64_static/gen/aidl", + ], target: { host: { enabled: false, @@ -1923,21 +1867,27 @@ cc_prebuilt_library_static { linux_glibc_x86_64: { enabled: true, srcs: ["x86_64/lib/mynativelib.a"], - export_include_dirs: ["x86_64/include_gen/mynativelib"], }, }, } +`), + checkVersionedAndroidBpContents(` +// This is auto-generated. DO NOT EDIT. cc_prebuilt_library_static { - name: "mynativelib", - prefer: false, + 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/include"], + export_include_dirs: [ + "include/myinclude", + "include_gen/mynativelib/linux_glibc_x86_64_static/gen/aidl", + ], target: { host: { enabled: false, @@ -1945,7 +1895,6 @@ cc_prebuilt_library_static { linux_glibc_x86_64: { enabled: true, srcs: ["x86_64/lib/mynativelib.a"], - export_include_dirs: ["x86_64/include_gen/mynativelib"], }, }, } @@ -1965,13 +1914,14 @@ module_exports_snapshot { enabled: true, }, }, -}`), +} +`), checkAllCopyRules(` -include/Test.h -> include/include/Test.h +myinclude/Test.h -> include/myinclude/Test.h +.intermediates/mynativelib/linux_glibc_x86_64_static/gen/aidl/aidl/foo/bar/Test.h -> include_gen/mynativelib/linux_glibc_x86_64_static/gen/aidl/aidl/foo/bar/Test.h +.intermediates/mynativelib/linux_glibc_x86_64_static/gen/aidl/aidl/foo/bar/BnTest.h -> include_gen/mynativelib/linux_glibc_x86_64_static/gen/aidl/aidl/foo/bar/BnTest.h +.intermediates/mynativelib/linux_glibc_x86_64_static/gen/aidl/aidl/foo/bar/BpTest.h -> include_gen/mynativelib/linux_glibc_x86_64_static/gen/aidl/aidl/foo/bar/BpTest.h .intermediates/mynativelib/linux_glibc_x86_64_static/mynativelib.a -> x86_64/lib/mynativelib.a -.intermediates/mynativelib/linux_glibc_x86_64_static/gen/aidl/aidl/foo/bar/Test.h -> x86_64/include_gen/mynativelib/aidl/foo/bar/Test.h -.intermediates/mynativelib/linux_glibc_x86_64_static/gen/aidl/aidl/foo/bar/BnTest.h -> x86_64/include_gen/mynativelib/aidl/foo/bar/BnTest.h -.intermediates/mynativelib/linux_glibc_x86_64_static/gen/aidl/aidl/foo/bar/BpTest.h -> x86_64/include_gen/mynativelib/aidl/foo/bar/BpTest.h `), ) } @@ -1985,43 +1935,27 @@ func TestSnapshotWithCcHeadersLibrary(t *testing.T) { cc_library_headers { name: "mynativeheaders", - export_include_dirs: ["include"], + export_include_dirs: ["myinclude"], stl: "none", } `) result.CheckSnapshot("mysdk", "", - checkAndroidBpContents(` + checkUnversionedAndroidBpContents(` // 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"], - stl: "none", - compile_multilib: "both", - export_include_dirs: ["include/include"], -} - -cc_prebuilt_library_headers { name: "mynativeheaders", prefer: false, visibility: ["//visibility:public"], apex_available: ["//apex_available:platform"], stl: "none", compile_multilib: "both", - export_include_dirs: ["include/include"], -} - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - native_header_libs: ["mysdk_mynativeheaders@current"], + export_include_dirs: ["include/myinclude"], } `), checkAllCopyRules(` -include/Test.h -> include/include/Test.h +myinclude/Test.h -> include/myinclude/Test.h `), ) } @@ -2039,25 +1973,25 @@ func TestHostSnapshotWithCcHeadersLibrary(t *testing.T) { name: "mynativeheaders", device_supported: false, host_supported: true, - export_include_dirs: ["include"], + export_include_dirs: ["myinclude"], stl: "none", } `) result.CheckSnapshot("mysdk", "", - checkAndroidBpContents(` + checkUnversionedAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library_headers { - name: "mysdk_mynativeheaders@current", - sdk_member_name: "mynativeheaders", + name: "mynativeheaders", + prefer: false, visibility: ["//visibility:public"], apex_available: ["//apex_available:platform"], device_supported: false, host_supported: true, stl: "none", compile_multilib: "both", - export_include_dirs: ["include/include"], + export_include_dirs: ["include/myinclude"], target: { host: { enabled: false, @@ -2070,17 +2004,20 @@ cc_prebuilt_library_headers { }, }, } +`), + checkVersionedAndroidBpContents(` +// This is auto-generated. DO NOT EDIT. cc_prebuilt_library_headers { - name: "mynativeheaders", - prefer: false, + 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/include"], + export_include_dirs: ["include/myinclude"], target: { host: { enabled: false, @@ -2114,7 +2051,7 @@ sdk_snapshot { } `), checkAllCopyRules(` -include/Test.h -> include/include/Test.h +myinclude/Test.h -> include/myinclude/Test.h `), ) } @@ -2131,40 +2068,40 @@ func TestDeviceAndHostSnapshotWithCcHeadersLibrary(t *testing.T) { name: "mynativeheaders", host_supported: true, stl: "none", - export_system_include_dirs: ["include"], + export_system_include_dirs: ["myinclude"], target: { android: { - export_include_dirs: ["include-android"], + export_include_dirs: ["myinclude-android"], }, host: { - export_include_dirs: ["include-host"], + export_include_dirs: ["myinclude-host"], }, }, } `) result.CheckSnapshot("mysdk", "", - checkAndroidBpContents(` + checkUnversionedAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library_headers { - name: "mysdk_mynativeheaders@current", - sdk_member_name: "mynativeheaders", + name: "mynativeheaders", + prefer: false, visibility: ["//visibility:public"], apex_available: ["//apex_available:platform"], host_supported: true, stl: "none", compile_multilib: "both", - export_system_include_dirs: ["common_os/include/include"], + export_system_include_dirs: ["common_os/include/myinclude"], target: { host: { enabled: false, }, android: { - export_include_dirs: ["android/include/include-android"], + export_include_dirs: ["android/include/myinclude-android"], }, linux_glibc: { - export_include_dirs: ["linux_glibc/include/include-host"], + export_include_dirs: ["linux_glibc/include/myinclude-host"], }, linux_glibc_x86_64: { enabled: true, @@ -2174,25 +2111,29 @@ cc_prebuilt_library_headers { }, }, } +`), + // Verifi + checkVersionedAndroidBpContents(` +// This is auto-generated. DO NOT EDIT. cc_prebuilt_library_headers { - name: "mynativeheaders", - prefer: false, + 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/include"], + export_system_include_dirs: ["common_os/include/myinclude"], target: { host: { enabled: false, }, android: { - export_include_dirs: ["android/include/include-android"], + export_include_dirs: ["android/include/myinclude-android"], }, linux_glibc: { - export_include_dirs: ["linux_glibc/include/include-host"], + export_include_dirs: ["linux_glibc/include/myinclude-host"], }, linux_glibc_x86_64: { enabled: true, @@ -2222,9 +2163,9 @@ sdk_snapshot { } `), checkAllCopyRules(` -include/Test.h -> common_os/include/include/Test.h -include-android/AndroidTest.h -> android/include/include-android/AndroidTest.h -include-host/HostTest.h -> linux_glibc/include/include-host/HostTest.h +myinclude/Test.h -> common_os/include/myinclude/Test.h +myinclude-android/AndroidTest.h -> android/include/myinclude-android/AndroidTest.h +myinclude-host/HostTest.h -> linux_glibc/include/myinclude-host/HostTest.h `), ) } @@ -2253,27 +2194,10 @@ func TestSystemSharedLibPropagation(t *testing.T) { `) result.CheckSnapshot("mysdk", "", - checkAndroidBpContents(` + checkUnversionedAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library_shared { - name: "mysdk_sslnil@current", - sdk_member_name: "sslnil", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - installable: false, - compile_multilib: "both", - arch: { - arm64: { - srcs: ["arm64/lib/sslnil.so"], - }, - arm: { - srcs: ["arm/lib/sslnil.so"], - }, - }, -} - -cc_prebuilt_library_shared { name: "sslnil", prefer: false, visibility: ["//visibility:public"], @@ -2290,24 +2214,6 @@ cc_prebuilt_library_shared { } cc_prebuilt_library_shared { - name: "mysdk_sslempty@current", - sdk_member_name: "sslempty", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - installable: false, - compile_multilib: "both", - system_shared_libs: [], - arch: { - arm64: { - srcs: ["arm64/lib/sslempty.so"], - }, - arm: { - srcs: ["arm/lib/sslempty.so"], - }, - }, -} - -cc_prebuilt_library_shared { name: "sslempty", prefer: false, visibility: ["//visibility:public"], @@ -2325,24 +2231,6 @@ cc_prebuilt_library_shared { } cc_prebuilt_library_shared { - name: "mysdk_sslnonempty@current", - sdk_member_name: "sslnonempty", - visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], - installable: false, - compile_multilib: "both", - system_shared_libs: ["mysdk_sslnil@current"], - arch: { - arm64: { - srcs: ["arm64/lib/sslnonempty.so"], - }, - arm: { - srcs: ["arm/lib/sslnonempty.so"], - }, - }, -} - -cc_prebuilt_library_shared { name: "sslnonempty", prefer: false, visibility: ["//visibility:public"], @@ -2358,16 +2246,6 @@ cc_prebuilt_library_shared { }, }, } - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - native_shared_libs: [ - "mysdk_sslnil@current", - "mysdk_sslempty@current", - "mysdk_sslnonempty@current", - ], -} `)) result = testSdkWithCc(t, ` @@ -2389,16 +2267,15 @@ sdk_snapshot { `) result.CheckSnapshot("mysdk", "", - checkAndroidBpContents(` + checkUnversionedAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library_shared { - name: "mysdk_sslvariants@current", - sdk_member_name: "sslvariants", + name: "sslvariants", + prefer: false, visibility: ["//visibility:public"], apex_available: ["//apex_available:platform"], host_supported: true, - installable: false, compile_multilib: "both", target: { host: { @@ -2423,13 +2300,17 @@ cc_prebuilt_library_shared { }, }, } +`), + checkVersionedAndroidBpContents(` +// This is auto-generated. DO NOT EDIT. cc_prebuilt_library_shared { - name: "sslvariants", - prefer: false, + 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: { @@ -2497,34 +2378,10 @@ func TestStubsLibrary(t *testing.T) { `) result.CheckSnapshot("mysdk", "", - checkAndroidBpContents(` + checkUnversionedAndroidBpContents(` // 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"], - installable: false, - compile_multilib: "both", - stubs: { - versions: [ - "1", - "2", - "3", - ], - }, - arch: { - arm64: { - srcs: ["arm64/lib/stubslib.so"], - }, - arm: { - srcs: ["arm/lib/stubslib.so"], - }, - }, -} - -cc_prebuilt_library_shared { name: "stubslib", prefer: false, visibility: ["//visibility:public"], @@ -2546,12 +2403,6 @@ cc_prebuilt_library_shared { }, }, } - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - native_shared_libs: ["mysdk_stubslib@current"], -} `)) } @@ -2580,16 +2431,15 @@ func TestDeviceAndHostSnapshotWithStubsLibrary(t *testing.T) { `) result.CheckSnapshot("mysdk", "", - checkAndroidBpContents(` + checkUnversionedAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library_shared { - name: "mysdk_stubslib@current", - sdk_member_name: "stubslib", + name: "stubslib", + prefer: false, visibility: ["//visibility:public"], apex_available: ["//apex_available:platform"], host_supported: true, - installable: false, compile_multilib: "both", stubs: { versions: [ @@ -2618,13 +2468,17 @@ cc_prebuilt_library_shared { }, }, } +`), + checkVersionedAndroidBpContents(` +// This is auto-generated. DO NOT EDIT. cc_prebuilt_library_shared { - name: "stubslib", - prefer: false, + 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: [ @@ -2690,16 +2544,15 @@ func TestUniqueHostSoname(t *testing.T) { `) result.CheckSnapshot("mysdk", "", - checkAndroidBpContents(` + checkUnversionedAndroidBpContents(` // This is auto-generated. DO NOT EDIT. cc_prebuilt_library_shared { - name: "mysdk_mylib@current", - sdk_member_name: "mylib", + name: "mylib", + prefer: false, visibility: ["//visibility:public"], apex_available: ["//apex_available:platform"], host_supported: true, - installable: false, unique_host_soname: true, compile_multilib: "both", target: { @@ -2722,13 +2575,17 @@ cc_prebuilt_library_shared { }, }, } +`), + checkVersionedAndroidBpContents(` +// This is auto-generated. DO NOT EDIT. cc_prebuilt_library_shared { - name: "mylib", - prefer: false, + 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: { @@ -2789,7 +2646,7 @@ func TestNoSanitizerMembers(t *testing.T) { cc_library_shared { name: "mynativelib", srcs: ["Test.cpp"], - export_include_dirs: ["include"], + export_include_dirs: ["myinclude"], arch: { arm64: { export_system_include_dirs: ["arm64/include"], @@ -2802,34 +2659,16 @@ func TestNoSanitizerMembers(t *testing.T) { `) result.CheckSnapshot("mysdk", "", - checkAndroidBpContents(` + checkUnversionedAndroidBpContents(` // 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"], - installable: false, - compile_multilib: "both", - export_include_dirs: ["include/include"], - arch: { - arm64: { - export_system_include_dirs: ["arm64/include/arm64/include"], - }, - arm: { - srcs: ["arm/lib/mynativelib.so"], - }, - }, -} - -cc_prebuilt_library_shared { name: "mynativelib", prefer: false, visibility: ["//visibility:public"], apex_available: ["//apex_available:platform"], compile_multilib: "both", - export_include_dirs: ["include/include"], + export_include_dirs: ["include/myinclude"], arch: { arm64: { export_system_include_dirs: ["arm64/include/arm64/include"], @@ -2839,15 +2678,9 @@ cc_prebuilt_library_shared { }, }, } - -sdk_snapshot { - name: "mysdk@current", - visibility: ["//visibility:public"], - native_shared_libs: ["mysdk_mynativelib@current"], -} `), checkAllCopyRules(` -include/Test.h -> include/include/Test.h +myinclude/Test.h -> include/myinclude/Test.h arm64/include/Arm64Test.h -> arm64/include/arm64/include/Arm64Test.h .intermediates/mynativelib/android_arm_armv7-a-neon_shared/mynativelib.so -> arm/lib/mynativelib.so`), ) |