# Specifying memory settings in application plugin start scripts

**URL:** <https://discuss.gradle.org/t/specifying-memory-settings-in-application-plugin-start-scripts/7008>\
**Category:** Old Forum Archive\
**Created:** [May 25, 2012, 1:16pm UTC](https://discuss.gradle.org/t/specifying-memory-settings-in-application-plugin-start-scripts/7008 "2012-05-25T13:16:00Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![HaniSuleiman](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/hanisuleiman/32/687_2.png) [@HaniSuleiman](https://discuss.gradle.org/u/HaniSuleiman)\
**Post date:** [May 25, 2012, 1:16pm UTC](https://discuss.gradle.org/t/specifying-memory-settings-in-application-plugin-start-scripts/7008/1 "2012-05-25T13:16:00Z")

</div>

How do I specify memory settings for the application plugin’s start scripts? Nothing obvious stands out in StartScripts…

---

<div class="post-metadata">

**Author:** ![bmuschko1](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/bmuschko1/32/7194_2.png) [@bmuschko1](https://discuss.gradle.org/u/bmuschko1)\
**Post date:** [May 28, 2012, 2:31pm UTC](https://discuss.gradle.org/t/specifying-memory-settings-in-application-plugin-start-scripts/7008/2 "2012-05-28T14:31:00Z")

</div>

GRADLE-1456 explains how to do this.

---

<div class="post-metadata">

**Author:** ![HaniSuleiman](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/hanisuleiman/32/687_2.png) [@HaniSuleiman](https://discuss.gradle.org/u/HaniSuleiman)\
**Post date:** [May 28, 2012, 5:38pm UTC](https://discuss.gradle.org/t/specifying-memory-settings-in-application-plugin-start-scripts/7008/3 "2012-05-28T17:38:00Z")

</div>

I’m missing something, that issue seems to list all the ways that don’t work (and suggestions for how to make them work). Is there a quick example of how to do this?

---

<div class="post-metadata">

**Author:** ![bmuschko1](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/bmuschko1/32/7194_2.png) [@bmuschko1](https://discuss.gradle.org/u/bmuschko1)\
**Post date:** [May 30, 2012, 1:40pm UTC](https://discuss.gradle.org/t/specifying-memory-settings-in-application-plugin-start-scripts/7008/4 "2012-05-30T13:40:00Z")

</div>

Oh, I am sorry. I thought the ticket described the workaround as well. This [post](http://gradle.1045684.n5.nabble.com/Convention-property-to-set-JAVA-OPTS-in-application-plugin-td4264223.html) explains it.

---

<div class="post-metadata">

**Author:** ![HaniSuleiman](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/hanisuleiman/32/687_2.png) [@HaniSuleiman](https://discuss.gradle.org/u/HaniSuleiman)\
**Post date:** [May 30, 2012, 1:46pm UTC](https://discuss.gradle.org/t/specifying-memory-settings-in-application-plugin-start-scripts/7008/5 "2012-05-30T13:46:00Z")

</div>

FYI, this is what I ended up doing:

startScripts {

ext.jvmOpts = “-Xmx256m”

inputs.property(“jvmOpts”, { ext.jvmOpts }) // for incremental build to work properly

doLast {

def optsEnvVar = “DEFAULT\_JVM\_OPTS”

unixScript.text = unixScript.text.replace("$optsEnvVar=${’""’}", “$optsEnvVar=${’”’}$ext.jvmOpts${’"’}")

windowsScript.text = windowsScript.text.replace(“set $optsEnvVar=”, “set $optsEnvVar=$ext.jvmOpts”)

}

}

This is pretty ugly though. Why can’t the build script more naturally supply JVM\_OPTS (or even take it from the run config)?

---

<div class="post-metadata">

**Author:** ![Alex\_Sko](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/alex_sko/32/83_2.png) [@Alex\_Sko](https://discuss.gradle.org/u/Alex_Sko)\
**Post date:** [October 25, 2013, 6:40pm UTC](https://discuss.gradle.org/t/specifying-memory-settings-in-application-plugin-start-scripts/7008/6 "2013-10-25T18:40:00Z")

</div>

I heard Gradle 1.7 was supposed to have some improvement so that you don’t have to do search-and-replace. does anyone know if that was implemented?

---

<div class="post-metadata">

**Author:** ![luke\_daley](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/luke_daley/32/9890_2.png) [@luke\_daley](https://discuss.gradle.org/u/luke_daley)\
**Post date:** [October 26, 2013, 8:38am UTC](https://discuss.gradle.org/t/specifying-memory-settings-in-application-plugin-start-scripts/7008/7 "2013-10-26T08:38:00Z")

</div>

[http://www.gradle.org/docs/1.7/release-notes#specify-default-jvm-arguments-for-the-application-plugin](http://www.gradle.org/docs/1.7/release-notes#specify-default-jvm-arguments-for-the-application-plugin)

---

<div class="post-metadata">

**Author:** ![Alex\_Sko](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/alex_sko/32/83_2.png) [@Alex\_Sko](https://discuss.gradle.org/u/Alex_Sko)\
**Post date:** [October 28, 2013, 10:54pm UTC](https://discuss.gradle.org/t/specifying-memory-settings-in-application-plugin-start-scripts/7008/8 "2013-10-28T22:54:00Z")

</div>

thank you. the build complains about this variable though:

$ gradle build distZip

Creating properties on demand (a.k.a. dynamic properties) has been deprecated

and is

scheduled to be removed in Gradle 2.0.

Please read [http://gradle.org/docs/current/dsl/org.gradle.api.plugins.ExtraPropertiesExtension.html](http://gradle.org/docs/current/dsl/org.gradle.api.plugins.ExtraPropertiesExtension.html)

for information on the replacement for dynamic properties.

Deprecated dynamic property: “applicationDefaultJvmArgs”

on “task ‘:launcher:startScripts’”, value: “-Xmx1024m”.

here’a a part of my build.gradle script:

apply plugin:‘application’

startScripts {

applicationDefaultJvmArgs = “-Xmx1024m”

doLast {

…

}

}

and the JMV args don’t end up in the start scripts. what is the right way to use that new variable? I’m using Gradle 1.8.
