diff options
author | 2021-05-20 11:00:12 +0100 | |
---|---|---|
committer | 2021-06-29 15:55:27 +0000 | |
commit | d0b99cea0ac389e831dfddbd3cb10fa09a040d2c (patch) | |
tree | 6537f167152036d8337dfbb0cfe572a8757b34fe /sdk/sdk_test.go | |
parent | 22fd032ccbe6b8352964fc01d961f0d71b20c949 (diff) |
Flag to control if generated SDK prebuilts are preferred.
This is needed because:
- the SDK prebuilt drop is being automated, including the Android.bp
- We want to control the prefer flag on a per-module level
It augments the existing SOONG_SDK_SNAPSHOT_PREFER which now overrides
this new flag when set to true.
Bug: 188427719
Test: m nothing
Change-Id: Ieb5ab9fab53a34c615345b7a9d19cadf713eec26
Diffstat (limited to 'sdk/sdk_test.go')
-rw-r--r-- | sdk/sdk_test.go | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/sdk/sdk_test.go b/sdk/sdk_test.go index a13b0d7d0..0933db28a 100644 --- a/sdk/sdk_test.go +++ b/sdk/sdk_test.go @@ -662,3 +662,68 @@ sdk_snapshot { ) }) } + +// Ensure that sdk prebuilt_prefer works correctly. +func TestSnapshot_PrebuiltPreferTrue(t *testing.T) { + bp := ` + sdk { + name: "mysdk", + java_header_libs: ["myjavalib"], + prebuilts_prefer: true, + } + + java_library { + name: "myjavalib", + srcs: ["Test.java"], + system_modules: "none", + sdk_version: "none", + compile_dex: true, + host_supported: true, + } + ` + preparer := android.GroupFixturePreparers( + prepareForSdkTestWithJava, + android.FixtureWithRootAndroidBp(bp), + ) + + checkZipFile := func(t *testing.T, result *android.TestResult, expected string) { + zipRule := result.ModuleForTests("mysdk", "common_os").Rule("SnapshotZipFiles") + android.AssertStringEquals(t, "snapshot zip file", expected, zipRule.Output.String()) + } + + t.Run("prefer=true", func(t *testing.T) { + result := android.GroupFixturePreparers( + preparer, + ).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: true, + 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"], +} + `), + ) + }) +} |