diff options
| author | 2020-08-21 09:36:10 +0000 | |
|---|---|---|
| committer | 2020-08-21 09:36:10 +0000 | |
| commit | bde92fc6bee17a044681c84cd0bba0e5ea225fa3 (patch) | |
| tree | 2bdfc82bb6cc0fbde2abe3babceea7e37c0da872 /java | |
| parent | 68bfe074c60f4462fc9360713391dee5cabbc8eb (diff) | |
| parent | 4b6d4c12cc9d4156705bdba2b17eb4ce990fe389 (diff) | |
Merge "Propagate transitive <uses-library> dependencies through static libraries."
Diffstat (limited to 'java')
| -rw-r--r-- | java/aar.go | 3 | ||||
| -rw-r--r-- | java/app_test.go | 23 |
2 files changed, 21 insertions, 5 deletions
diff --git a/java/aar.go b/java/aar.go index 6e9153cf7..5c19a9cd3 100644 --- a/java/aar.go +++ b/java/aar.go @@ -399,6 +399,9 @@ func aaptLibs(ctx android.ModuleContext, sdkContext sdkContext) (transitiveStati sharedLibs = append(sharedLibs, exportPackage) } case staticLibTag: + if dep, ok := module.(Dependency); ok { + sdkLibraries.AddLibraryPaths(dep.ExportedSdkLibs()) + } if exportPackage != nil { transitiveStaticLibs = append(transitiveStaticLibs, aarDep.ExportedStaticPackages()...) transitiveStaticLibs = append(transitiveStaticLibs, exportPackage) diff --git a/java/app_test.go b/java/app_test.go index a070318db..6b27124e4 100644 --- a/java/app_test.go +++ b/java/app_test.go @@ -2526,10 +2526,24 @@ func TestUsesLibraries(t *testing.T) { sdk_version: "current", } + java_sdk_library { + name: "runtime-library", + srcs: ["a.java"], + sdk_version: "current", + } + + java_library { + name: "static-runtime-helper", + srcs: ["a.java"], + libs: ["runtime-library"], + sdk_version: "current", + } + android_app { name: "app", srcs: ["a.java"], libs: ["qux", "quuz.stubs"], + static_libs: ["static-runtime-helper"], uses_libs: ["foo"], sdk_version: "current", optional_uses_libs: [ @@ -2562,11 +2576,10 @@ func TestUsesLibraries(t *testing.T) { // Test that implicit dependencies on java_sdk_library instances are passed to the manifest. manifestFixerArgs := app.Output("manifest_fixer/AndroidManifest.xml").Args["args"] - if w := "--uses-library qux"; !strings.Contains(manifestFixerArgs, w) { - t.Errorf("unexpected manifest_fixer args: wanted %q in %q", w, manifestFixerArgs) - } - if w := "--uses-library quuz"; !strings.Contains(manifestFixerArgs, w) { - t.Errorf("unexpected manifest_fixer args: wanted %q in %q", w, manifestFixerArgs) + for _, w := range []string{"qux", "quuz", "runtime-library"} { + if !strings.Contains(manifestFixerArgs, "--uses-library "+w) { + t.Errorf("unexpected manifest_fixer args: wanted %q in %q", w, manifestFixerArgs) + } } // Test that all libraries are verified |