diff options
author | Adam Metcalf <gamblore@google.com> | 2013-07-30 22:20:10 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2013-07-30 22:20:10 +0000 |
commit | b22d66478b16b270f263c0556f18ee4dd836fb21 (patch) | |
tree | ee92ca8ee5e0741331b1e4bed077dfe8d1d0c81b | |
parent | 66aa0767fa5129d5f2b4ce1bb12da06e9dd0ecbe (diff) | |
parent | 11a54bc85ae67470ad1f4dbd7213fb84f8d71a95 (diff) | |
download | build-b22d66478b16b270f263c0556f18ee4dd836fb21.tar.gz |
Merge "Add Java heap size argument to DexOptions."
3 files changed, 22 insertions, 0 deletions
diff --git a/builder/src/main/java/com/android/builder/AndroidBuilder.java b/builder/src/main/java/com/android/builder/AndroidBuilder.java index 86e1af0..6e32247 100644 --- a/builder/src/main/java/com/android/builder/AndroidBuilder.java +++ b/builder/src/main/java/com/android/builder/AndroidBuilder.java @@ -933,6 +933,10 @@ public class AndroidBuilder { command.add(dx); + if (dexOptions.getJavaMaxHeapSize() != null) { + command.add("-JXmx" + dexOptions.getJavaMaxHeapSize()); + } + command.add("--dex"); if (mVerboseExec) { diff --git a/builder/src/main/java/com/android/builder/DexOptions.java b/builder/src/main/java/com/android/builder/DexOptions.java index 37346a2..966d081 100644 --- a/builder/src/main/java/com/android/builder/DexOptions.java +++ b/builder/src/main/java/com/android/builder/DexOptions.java @@ -20,4 +20,5 @@ public interface DexOptions { boolean isCoreLibrary(); boolean getIncremental(); + String getJavaMaxHeapSize(); } diff --git a/gradle/src/main/groovy/com/android/build/gradle/internal/dsl/DexOptionsImpl.groovy b/gradle/src/main/groovy/com/android/build/gradle/internal/dsl/DexOptionsImpl.groovy index d98b87d..4a333e0 100644 --- a/gradle/src/main/groovy/com/android/build/gradle/internal/dsl/DexOptionsImpl.groovy +++ b/gradle/src/main/groovy/com/android/build/gradle/internal/dsl/DexOptionsImpl.groovy @@ -27,6 +27,9 @@ public class DexOptionsImpl implements DexOptions { @Input private boolean isIncrementalFlag = true + @Input + private String javaMaxHeapSize + public void setCoreLibrary(boolean coreLibrary) { coreLibraryFlag = coreLibrary } @@ -44,4 +47,18 @@ public class DexOptionsImpl implements DexOptions { boolean getIncremental() { return isIncrementalFlag } + + public void setJavaMaxHeapSize(String theJavaMaxHeapSize) { + if (theJavaMaxHeapSize.matches("\\d+[kKmMgGtT]?")) { + javaMaxHeapSize = theJavaMaxHeapSize + } else { + throw new IllegalArgumentException( + "Invalid max heap size DexOption. See `man java` for valid -Xmx arguments.") + } + } + + @Override + public String getJavaMaxHeapSize() { + return javaMaxHeapSize + } } |