diff options
Diffstat (limited to 'java')
| -rw-r--r-- | java/androidmk.go | 3 | ||||
| -rwxr-xr-x | java/app.go | 3 | ||||
| -rw-r--r-- | java/app_test.go | 9 | ||||
| -rw-r--r-- | java/java_test.go | 13 | ||||
| -rw-r--r-- | java/sdk_library.go | 9 |
5 files changed, 31 insertions, 6 deletions
diff --git a/java/androidmk.go b/java/androidmk.go index 6d4d40bf6..d76e29b21 100644 --- a/java/androidmk.go +++ b/java/androidmk.go @@ -341,7 +341,7 @@ func (app *AndroidApp) AndroidMkEntries() []android.AndroidMkEntries { entries.SetBoolIfTrue("LOCAL_PRIVILEGED_MODULE", app.Privileged()) - entries.SetPath("LOCAL_CERTIFICATE", app.certificate.Pem) + entries.SetString("LOCAL_CERTIFICATE", app.certificate.AndroidMkString()) entries.AddStrings("LOCAL_OVERRIDES_PACKAGES", app.getOverriddenPackages()...) for _, jniLib := range app.installJniLibs { @@ -699,6 +699,7 @@ func (r *RuntimeResourceOverlay) AndroidMkEntries() []android.AndroidMkEntries { Include: "$(BUILD_SYSTEM)/soong_app_prebuilt.mk", ExtraEntries: []android.AndroidMkExtraEntriesFunc{ func(entries *android.AndroidMkEntries) { + entries.SetString("LOCAL_CERTIFICATE", r.certificate.AndroidMkString()) entries.SetPath("LOCAL_MODULE_PATH", r.installDir.ToMakePath()) }, }, diff --git a/java/app.go b/java/app.go index a27996c14..6e0ffeb67 100755 --- a/java/app.go +++ b/java/app.go @@ -1243,6 +1243,8 @@ type RuntimeResourceOverlay struct { properties RuntimeResourceOverlayProperties + certificate Certificate + outputFile android.Path installDir android.InstallPath } @@ -1288,6 +1290,7 @@ func (r *RuntimeResourceOverlay) GenerateAndroidBuildActions(ctx android.ModuleC certificates = processMainCert(r.ModuleBase, String(r.properties.Certificate), certificates, ctx) signed := android.PathForModuleOut(ctx, "signed", r.Name()+".apk") SignAppPackage(ctx, signed, r.aapt.exportPackage, certificates) + r.certificate = certificates[0] r.outputFile = signed r.installDir = android.PathForModuleInstall(ctx, "overlay", String(r.properties.Theme)) diff --git a/java/app_test.go b/java/app_test.go index 2682682cf..c20a8e7a9 100644 --- a/java/app_test.go +++ b/java/app_test.go @@ -2242,10 +2242,15 @@ func TestRuntimeResourceOverlay(t *testing.T) { if expected != signingFlag { t.Errorf("Incorrect signing flags, expected: %q, got: %q", expected, signingFlag) } + path := android.AndroidMkEntriesForTest(t, config, "", m.Module())[0].EntryMap["LOCAL_CERTIFICATE"] + expectedPath := []string{"build/make/target/product/security/platform.x509.pem"} + if !reflect.DeepEqual(path, expectedPath) { + t.Errorf("Unexpected LOCAL_CERTIFICATE value: %v, expected: %v", path, expectedPath) + } // Check device location. - path := android.AndroidMkEntriesForTest(t, config, "", m.Module())[0].EntryMap["LOCAL_MODULE_PATH"] - expectedPath := []string{"/tmp/target/product/test_device/product/overlay"} + path = android.AndroidMkEntriesForTest(t, config, "", m.Module())[0].EntryMap["LOCAL_MODULE_PATH"] + expectedPath = []string{"/tmp/target/product/test_device/product/overlay"} if !reflect.DeepEqual(path, expectedPath) { t.Errorf("Unexpected LOCAL_MODULE_PATH value: %v, expected: %v", path, expectedPath) } diff --git a/java/java_test.go b/java/java_test.go index a2788cb8e..c4ab13d05 100644 --- a/java/java_test.go +++ b/java/java_test.go @@ -1043,6 +1043,12 @@ func TestJavaSdkLibrary(t *testing.T) { libs: ["baz"], sdk_version: "system_current", } + java_library { + name: "baz-test", + srcs: ["c.java"], + libs: ["foo"], + sdk_version: "test_current", + } `) // check the existence of the internal modules @@ -1075,6 +1081,13 @@ func TestJavaSdkLibrary(t *testing.T) { "foo.stubs.jar") } + bazTestJavac := ctx.ModuleForTests("baz-test", "android_common").Rule("javac") + // tests if baz-test is actually linked to the test stubs lib + if !strings.Contains(bazTestJavac.Args["classpath"], "foo.stubs.test.jar") { + t.Errorf("baz-test javac classpath %v does not contain %q", bazTestJavac.Args["classpath"], + "foo.stubs.test.jar") + } + // test if baz has exported SDK lib names foo and bar to qux qux := ctx.ModuleForTests("qux", "android_common") if quxLib, ok := qux.Module().(*Library); ok { diff --git a/java/sdk_library.go b/java/sdk_library.go index 0ef0f23a1..d51d31723 100644 --- a/java/sdk_library.go +++ b/java/sdk_library.go @@ -689,16 +689,19 @@ func (module *SdkLibrary) sdkJars( return module.Library.ImplementationJars() } } - var paths *scopePaths + var apiScope *apiScope switch sdkVersion.kind { case sdkSystem: - paths = module.getScopePaths(apiScopeSystem) + apiScope = apiScopeSystem + case sdkTest: + apiScope = apiScopeTest case sdkPrivate: return module.Library.HeaderJars() default: - paths = module.getScopePaths(apiScopePublic) + apiScope = apiScopePublic } + paths := module.getScopePaths(apiScope) if headerJars { return paths.stubsHeaderPath } else { |