summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/androidmk.go1
-rw-r--r--java/app.go13
-rw-r--r--java/app_test.go3
-rw-r--r--java/builder.go3
4 files changed, 15 insertions, 5 deletions
diff --git a/java/androidmk.go b/java/androidmk.go
index ed8295549..45fd1c1c0 100644
--- a/java/androidmk.go
+++ b/java/androidmk.go
@@ -607,6 +607,7 @@ func (apkSet *AndroidAppSet) AndroidMk() android.AndroidMkData {
fmt.Fprintln(w, "LOCAL_PRIVILEGED_MODULE := true")
}
fmt.Fprintln(w, "LOCAL_APK_SET_MASTER_FILE := ", apkSet.masterFile)
+ fmt.Fprintln(w, "LOCAL_APKCERTS_FILE := ", apkSet.apkcertsFile)
fmt.Fprintln(w, "LOCAL_OVERRIDES_PACKAGES :=", strings.Join(apkSet.properties.Overrides, " "))
},
},
diff --git a/java/app.go b/java/app.go
index f755d8b8f..586b66d85 100644
--- a/java/app.go
+++ b/java/app.go
@@ -64,6 +64,7 @@ type AndroidAppSet struct {
properties AndroidAppSetProperties
packedOutput android.WritablePath
masterFile string
+ apkcertsFile android.ModuleOutPath
}
func (as *AndroidAppSet) Name() string {
@@ -107,6 +108,7 @@ func SupportedAbis(ctx android.ModuleContext) []string {
func (as *AndroidAppSet) GenerateAndroidBuildActions(ctx android.ModuleContext) {
as.packedOutput = android.PathForModuleOut(ctx, "extracted.zip")
+ as.apkcertsFile = android.PathForModuleOut(ctx, "apkcerts.txt")
// We are assuming here that the master file in the APK
// set has `.apk` suffix. If it doesn't the build will fail.
// APK sets containing APEX files are handled elsewhere.
@@ -119,16 +121,19 @@ func (as *AndroidAppSet) GenerateAndroidBuildActions(ctx android.ModuleContext)
// TODO(asmundak): do we support device features
ctx.Build(pctx,
android.BuildParams{
- Rule: extractMatchingApks,
- Description: "Extract APKs from APK set",
- Output: as.packedOutput,
- Inputs: android.Paths{as.prebuilt.SingleSourcePath(ctx)},
+ Rule: extractMatchingApks,
+ Description: "Extract APKs from APK set",
+ Output: as.packedOutput,
+ ImplicitOutput: as.apkcertsFile,
+ Inputs: android.Paths{as.prebuilt.SingleSourcePath(ctx)},
Args: map[string]string{
"abis": strings.Join(SupportedAbis(ctx), ","),
"allow-prereleased": strconv.FormatBool(proptools.Bool(as.properties.Prerelease)),
"screen-densities": screenDensities,
"sdk-version": ctx.Config().PlatformSdkVersion(),
"stem": ctx.ModuleName(),
+ "apkcerts": as.apkcertsFile.String(),
+ "partition": as.PartitionTag(ctx.DeviceConfig()),
},
})
// TODO(asmundak): add this (it's wrong now, will cause copying extracted.zip)
diff --git a/java/app_test.go b/java/app_test.go
index 4f174d8a3..1d497703a 100644
--- a/java/app_test.go
+++ b/java/app_test.go
@@ -153,6 +153,9 @@ func TestAndroidAppSet(t *testing.T) {
if s := params.Args["allow-prereleased"]; s != "true" {
t.Errorf("wrong allow-prereleased value: '%s', expected 'true'", s)
}
+ if s := params.Args["partition"]; s != "system" {
+ t.Errorf("wrong partition value: '%s', expected 'system'", s)
+ }
}
func TestAndroidAppSet_Variants(t *testing.T) {
diff --git a/java/builder.go b/java/builder.go
index b552b2c8e..2fe4d8ab3 100644
--- a/java/builder.go
+++ b/java/builder.go
@@ -68,10 +68,11 @@ var (
`${config.ExtractApksCmd} -o "${out}" -allow-prereleased=${allow-prereleased} ` +
`-sdk-version=${sdk-version} -abis=${abis} ` +
`--screen-densities=${screen-densities} --stem=${stem} ` +
+ `-apkcerts=${apkcerts} -partition=${partition} ` +
`${in}`,
CommandDeps: []string{"${config.ExtractApksCmd}"},
},
- "abis", "allow-prereleased", "screen-densities", "sdk-version", "stem")
+ "abis", "allow-prereleased", "screen-densities", "sdk-version", "stem", "apkcerts", "partition")
turbine = pctx.AndroidStaticRule("turbine",
blueprint.RuleParams{