summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
author Ulyana Trafimovich <skvadrik@google.com> 2020-08-21 09:36:10 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2020-08-21 09:36:10 +0000
commitbde92fc6bee17a044681c84cd0bba0e5ea225fa3 (patch)
tree2bdfc82bb6cc0fbde2abe3babceea7e37c0da872 /java
parent68bfe074c60f4462fc9360713391dee5cabbc8eb (diff)
parent4b6d4c12cc9d4156705bdba2b17eb4ce990fe389 (diff)
Merge "Propagate transitive <uses-library> dependencies through static libraries."
Diffstat (limited to 'java')
-rw-r--r--java/aar.go3
-rw-r--r--java/app_test.go23
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