diff options
Diffstat (limited to 'java')
| -rw-r--r-- | java/androidmk.go | 1 | ||||
| -rw-r--r-- | java/app.go | 13 | ||||
| -rw-r--r-- | java/app_test.go | 3 | ||||
| -rw-r--r-- | java/builder.go | 3 |
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{ |