summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Rico Wind <ricow@google.com> 2024-09-27 07:26:38 +0200
committer Rico Wind <ricow@google.com> 2024-09-27 07:26:42 +0200
commit5d88f7fb8c9efd8d26a09328fec55735b2e05f73 (patch)
tree06749b1cafe2f3a9bfc4994bf506e609c95d6710
parent29c267af2db1842c13ccb124b1c82eeadd2a1890 (diff)
Support setting R8 dump directory with environment variable
This will allow developers to easily create dumps of R8 compilations (input classfiles, proguard rules, flags, resources...) Example usage: $ mkdir /tmp/dumps $ R8_DUMP_DIRECTORY=/tmp/dumps m -j77 Traceur This will put the dump for Traceur into the /tmp/dumps directory If your target has several R8 invocations then dumps for all of these will be generated into the dump directory Bug: 369931283 Test: R8_DUMP_DIRECTORY=/tmp/dumps m -j77 Traceur Change-Id: I69be3190c61a98402931767e42184cc01ef25804
-rw-r--r--java/config/config.go18
1 files changed, 13 insertions, 5 deletions
diff --git a/java/config/config.go b/java/config/config.go
index 4c1c72393..87703d821 100644
--- a/java/config/config.go
+++ b/java/config/config.go
@@ -97,11 +97,19 @@ func init() {
"-JDcom.android.tools.r8.emitRecordAnnotationsInDex",
"-JDcom.android.tools.r8.emitPermittedSubclassesAnnotationsInDex",
}, dexerJavaVmFlagsList...), " "))
- pctx.StaticVariable("R8Flags", strings.Join(append([]string{
- "-JXmx4096M",
- "-JDcom.android.tools.r8.emitRecordAnnotationsInDex",
- "-JDcom.android.tools.r8.emitPermittedSubclassesAnnotationsInDex",
- }, dexerJavaVmFlagsList...), " "))
+
+ pctx.VariableFunc("R8Flags", func(ctx android.PackageVarContext) string {
+ r8flags := append([]string{
+ "-JXmx4096M",
+ "-JDcom.android.tools.r8.emitRecordAnnotationsInDex",
+ "-JDcom.android.tools.r8.emitPermittedSubclassesAnnotationsInDex",
+ }, dexerJavaVmFlagsList...)
+ if r8DumpDir := ctx.Config().Getenv("R8_DUMP_DIRECTORY"); r8DumpDir != "" {
+ r8flags = append(r8flags, "-JDcom.android.tools.r8.dumpinputtodirectory="+r8DumpDir)
+ }
+ return strings.Join(r8flags, " ")
+
+ })
pctx.StaticVariable("CommonJdkFlags", strings.Join([]string{
`-Xmaxerrs 9999999`,