From 27ae829698eed3d73faaba5d9144f06452d8ada2 Mon Sep 17 00:00:00 2001 From: Eric Bailey Date: Thu, 6 Mar 2025 22:21:54 -0600 Subject: Add plugin to bump gradle jvm heap size (#7922) --- app.config.js | 1 + plugins/withGradleJVMHeapSizeIncrease.js | 34 ++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 plugins/withGradleJVMHeapSizeIncrease.js diff --git a/app.config.js b/app.config.js index 97e416f03..9539292ff 100644 --- a/app.config.js +++ b/app.config.js @@ -240,6 +240,7 @@ module.exports = function (config) { }, ], './plugins/starterPackAppClipExtension/withStarterPackAppClip.js', + './plugins/withGradleJVMHeapSizeIncrease.js', './plugins/withAndroidManifestPlugin.js', './plugins/withAndroidManifestFCMIconPlugin.js', './plugins/withAndroidStylesAccentColorPlugin.js', diff --git a/plugins/withGradleJVMHeapSizeIncrease.js b/plugins/withGradleJVMHeapSizeIncrease.js new file mode 100644 index 000000000..690b8ee75 --- /dev/null +++ b/plugins/withGradleJVMHeapSizeIncrease.js @@ -0,0 +1,34 @@ +const {withGradleProperties} = require('expo/config-plugins') + +function setGradlePropertiesValue(config, key, value) { + return withGradleProperties(config, exportedConfig => { + const keyIdx = exportedConfig.modResults.findIndex( + item => item.type === 'property' && item.key === key, + ) + if (keyIdx >= 0) { + exportedConfig.modResults.splice(keyIdx, 1, { + type: 'property', + key, + value, + }) + } else { + exportedConfig.modResults.push({ + type: 'property', + key, + value, + }) + } + + return exportedConfig + }) +} + +module.exports = function withGradleJVMHeapSizeIncrease(config) { + config = setGradlePropertiesValue( + config, + 'org.gradle.jvmargs', + '-Xmx4096m -XX:MaxMetaspaceSize=1024m', //Set data of your choice + ) + + return config +} -- cgit 1.4.1