summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/androidmk.go3
-rwxr-xr-xjava/app.go3
-rw-r--r--java/app_test.go9
-rw-r--r--java/java_test.go13
-rw-r--r--java/sdk_library.go9
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 {