Declare proguard_dictionary as implicit output of r8

Soong was generating proguard_dictionary, but not marking it as an
output, so ninja would fail with:
ninja: error: 'out/soong/.intermediates/bootable/recovery/tools/recovery_l10n/RecoveryLocalizer/android_common/proguard_dictionary', needed by 'out/target/common/obj/APPS/RecoveryLocalizer_intermediates/proguard_dictionary', missing and no known rule to make it

Fixes: 78770148
Test: mmma bootable/recovery/tools/recovery_l10n
Change-Id: I956f92519ea81d4fb1322114214099d46d734906
This commit is contained in:
Colin Cross
2018-05-16 16:47:21 -07:00
parent 5e011a2531
commit c0c664cd56

View File

@@ -238,14 +238,16 @@ func (j *Module) compileDex(ctx android.ModuleContext, flags javaBuilderFlags,
if useR8 {
// TODO(ccross): if this is an instrumentation test of an obfuscated app, use the
// dictionary of the app and move the app from libraryjars to injars.
j.proguardDictionary = android.PathForModuleOut(ctx, "proguard_dictionary")
proguardDictionary := android.PathForModuleOut(ctx, "proguard_dictionary")
j.proguardDictionary = proguardDictionary
r8Flags, r8Deps := j.r8Flags(ctx, flags)
ctx.Build(pctx, android.BuildParams{
Rule: r8,
Description: "r8",
Output: javalibJar,
Input: classesJar,
Implicits: r8Deps,
Rule: r8,
Description: "r8",
Output: javalibJar,
ImplicitOutput: proguardDictionary,
Input: classesJar,
Implicits: r8Deps,
Args: map[string]string{
"dxFlags": strings.Join(dxFlags, " "),
"r8Flags": strings.Join(r8Flags, " "),