diff options
| author | 2025-03-10 12:52:35 -0700 | |
|---|---|---|
| committer | 2025-03-10 12:52:35 -0700 | |
| commit | 8fe189d07b442003f0f83cd5aef1c612afd6d7a1 (patch) | |
| tree | 84f42d56428df81062fba6fc517df282bf5dd121 /java | |
| parent | d0959d00141c4508bea8c6186a1388961ced7cf7 (diff) | |
| parent | cfbdb0cec0d89feccb3cd8231a4095f673f74b29 (diff) | |
Merge "Do not propagate boot jars in CLC construction" into main am: cfbdb0cec0
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3529410
Change-Id: Ie2f3a6654647c4b3625de8258d705404eeb405e3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'java')
| -rw-r--r-- | java/java_test.go | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/java/java_test.go b/java/java_test.go index 6df81e595..1ba78d49b 100644 --- a/java/java_test.go +++ b/java/java_test.go @@ -3193,3 +3193,72 @@ cc_library_shared { deps := findDepsOfModule(res, res.ModuleForTests(t, "myjavabin", "android_common").Module(), "mynativelib") android.AssertIntEquals(t, "Create a dep on the first variant", 1, len(deps)) } + +func TestBootJarNotInUsesLibs(t *testing.T) { + t.Parallel() + result := android.GroupFixturePreparers( + PrepareForTestWithJavaDefaultModules, + PrepareForTestWithJavaSdkLibraryFiles, + FixtureWithLastReleaseApis("mysdklibrary", "myothersdklibrary"), + FixtureConfigureApexBootJars("myapex:mysdklibrary"), + ).RunTestWithBp(t, ` + bootclasspath_fragment { + name: "myfragment", + contents: ["mysdklibrary"], + hidden_api: { + split_packages: ["*"], + }, + } + + java_sdk_library { + name: "mysdklibrary", + srcs: ["Test.java"], + compile_dex: true, + public: {enabled: true}, + min_sdk_version: "2", + permitted_packages: ["mysdklibrary"], + sdk_version: "current", + } + + java_sdk_library { + name: "myothersdklibrary", + srcs: ["Test.java"], + compile_dex: true, + public: {enabled: true}, + min_sdk_version: "2", + permitted_packages: ["myothersdklibrary"], + sdk_version: "current", + } + + java_library { + name: "foo", + libs: [ + "bar", + "mysdklibrary.stubs", + ], + srcs: ["A.java"], + } + + java_library { + name: "bar", + libs: [ + "myothersdklibrary.stubs" + ], + } + `) + ctx := result.TestContext + fooModule := ctx.ModuleForTests(t, "foo", "android_common") + + androidMkEntries := android.AndroidMkEntriesForTest(t, ctx, fooModule.Module())[0] + localExportSdkLibraries := androidMkEntries.EntryMap["LOCAL_EXPORT_SDK_LIBRARIES"] + android.AssertStringListDoesNotContain(t, + "boot jar should not be included in uses libs entries", + localExportSdkLibraries, + "mysdklibrary", + ) + android.AssertStringListContains(t, + "non boot jar is included in uses libs entries", + localExportSdkLibraries, + "myothersdklibrary", + ) +} |