Add support for transitive resources to android_library_import

Collect and propagate resource jars from static dependencies of
android_library_import modules.

Bug: 288358614
Test: TestAndroidLibraryOutputFilesRel
Change-Id: I076f3c8e4ce42f71a52b612b77eb0265fa1e974c
This commit is contained in:
Colin Cross
2024-04-12 13:44:45 -07:00
parent 5e87f349b8
commit 607bbd64dd
2 changed files with 39 additions and 12 deletions

View File

@@ -136,18 +136,19 @@ func TestAndroidLibraryOutputFilesRel(t *testing.T) {
android_library {
name: "foo",
srcs: ["a.java"],
java_resources: ["foo.txt"],
}
android_library_import {
name: "bar",
aars: ["bar.aar"],
aars: ["bar_prebuilt.aar"],
}
android_library_import {
name: "baz",
aars: ["baz.aar"],
static_libs: ["bar"],
aars: ["baz_prebuilt.aar"],
static_libs: ["foo", "bar"],
}
`)
@@ -160,11 +161,11 @@ func TestAndroidLibraryOutputFilesRel(t *testing.T) {
bazOutputPath := android.OutputFileForModule(android.PathContext(nil), baz.Module(), "")
android.AssertPathRelativeToTopEquals(t, "foo output path",
"out/soong/.intermediates/foo/android_common/javac/foo.jar", fooOutputPath)
"out/soong/.intermediates/foo/android_common/withres/foo.jar", fooOutputPath)
android.AssertPathRelativeToTopEquals(t, "bar output path",
"out/soong/.intermediates/bar/android_common/aar/bar.jar", barOutputPath)
android.AssertPathRelativeToTopEquals(t, "baz output path",
"out/soong/.intermediates/baz/android_common/combined/baz.jar", bazOutputPath)
"out/soong/.intermediates/baz/android_common/withres/baz.jar", bazOutputPath)
android.AssertStringEquals(t, "foo relative output path",
"foo.jar", fooOutputPath.Rel())