diff options
-rw-r--r-- | app.config.js | 1 | ||||
-rw-r--r-- | plugins/withGradleJVMHeapSizeIncrease.js | 34 |
2 files changed, 35 insertions, 0 deletions
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 +} |