From 126a25cb3dfb4d698e59c82a01e6e482448036d5 Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Tue, 31 Oct 2017 13:55:34 -0700 Subject: [PATCH] Propagate PRODUCT_MINIMIZE_JAVA_DEBUG_INFO to soong and use it Strip debug info in javac when PRODUCT_MINIMIZE_JAVA_DEBUG_INFO is set. Test: m with PRODUCT_MINIMIZE_JAVA_DEBUG_INFO=true Change-Id: I167e742662801291c516bf1ff826486560d22147 --- android/config.go | 4 ++++ android/variable.go | 1 + java/java.go | 5 +++++ 3 files changed, 10 insertions(+) diff --git a/android/config.go b/android/config.go index 56d0a39e5..e9a8d4218 100644 --- a/android/config.go +++ b/android/config.go @@ -504,6 +504,10 @@ func (c *config) IsPdkBuild() bool { return Bool(c.ProductVariables.Pdk) } +func (c *config) MinimizeJavaDebugInfo() bool { + return Bool(c.ProductVariables.MinimizeJavaDebugInfo) && !Bool(c.ProductVariables.Eng) +} + func (c *config) DevicePrefer32BitExecutables() bool { return Bool(c.ProductVariables.DevicePrefer32BitExecutables) } diff --git a/android/variable.go b/android/variable.go index 4b3925cca..28841e22d 100644 --- a/android/variable.go +++ b/android/variable.go @@ -158,6 +158,7 @@ type productVariables struct { Treble *bool `json:",omitempty"` Pdk *bool `json:",omitempty"` Uml *bool `json:",omitempty"` + MinimizeJavaDebugInfo *bool `json:",omitempty"` IntegerOverflowExcludePaths *[]string `json:",omitempty"` diff --git a/java/java.go b/java/java.go index 7ecf6720f..1541dec2a 100644 --- a/java/java.go +++ b/java/java.go @@ -466,6 +466,11 @@ func (j *Module) collectBuilderFlags(ctx android.ModuleContext, deps deps) javaB if ctx.AConfig().TargetOpenJDK9() { javacFlags = append(javacFlags, j.properties.Openjdk9.Javacflags...) } + if ctx.AConfig().MinimizeJavaDebugInfo() { + // Override the -g flag passed globally to remove local variable debug info to reduce + // disk and memory usage. + javacFlags = append(javacFlags, "-g:source,lines") + } if len(javacFlags) > 0 { // optimization. ctx.Variable(pctx, "javacFlags", strings.Join(javacFlags, " "))