This is an automated email from the ASF dual-hosted git repository.
davydotcom pushed a commit to branch 7.0.x
in repository https://gitbox.apache.org/repos/asf/grails-core.git
The following commit(s) were added to refs/heads/7.0.x by this push:
new d99039ae4f 15100 - remove previous optimization for older JDKs &
larger projects (#15104)
d99039ae4f is described below
commit d99039ae4f1957bc0d0ed80b5b22193e2ef9ed94
Author: James Daugherty <[email protected]>
AuthorDate: Wed Oct 1 20:12:26 2025 -0400
15100 - remove previous optimization for older JDKs & larger projects
(#15104)
---
grails-doc/src/en/guide/upgrading/upgrading60x.adoc | 15 +++++++++++++++
.../grails/gradle/plugin/core/GrailsGradlePlugin.groovy | 11 +++++------
2 files changed, 20 insertions(+), 6 deletions(-)
diff --git a/grails-doc/src/en/guide/upgrading/upgrading60x.adoc
b/grails-doc/src/en/guide/upgrading/upgrading60x.adoc
index f4431dd1b6..d7841ce255 100644
--- a/grails-doc/src/en/guide/upgrading/upgrading60x.adoc
+++ b/grails-doc/src/en/guide/upgrading/upgrading60x.adoc
@@ -540,4 +540,19 @@ sourceSets {
}
}
}
+----
+
+===== 12.23 Test & JavaExec JVM Args no longer set by default
+
+Previously tasks of type `Test` & `JavaExec` had several JVM args set by
default to facilitate faster startup times in larger projects.
+These settings are removed by default in Grails 7. To restore the old
behavior, configure the `Test` & `JavaExec` tasks as follows:
+
+[source,groovy]
+----
+tasks.withType(Test).configureEach {
+ jvmArgs('-XX:+TieredCompilation', '-XX:TieredStopAtLevel=1',
'-XX:CICompilerCount=3')
+}
+tasks.withType(JavaExec).configureEach {
+ jvmArgs('-XX:+TieredCompilation', '-XX:TieredStopAtLevel=1',
'-XX:CICompilerCount=3')
+}
----
\ No newline at end of file
diff --git
a/grails-gradle/plugins/src/main/groovy/org/grails/gradle/plugin/core/GrailsGradlePlugin.groovy
b/grails-gradle/plugins/src/main/groovy/org/grails/gradle/plugin/core/GrailsGradlePlugin.groovy
index 8d740d22f3..2d831789e9 100644
---
a/grails-gradle/plugins/src/main/groovy/org/grails/gradle/plugin/core/GrailsGradlePlugin.groovy
+++
b/grails-gradle/plugins/src/main/groovy/org/grails/gradle/plugin/core/GrailsGradlePlugin.groovy
@@ -23,6 +23,7 @@ import javax.inject.Inject
import groovy.transform.CompileDynamic
import groovy.transform.CompileStatic
+import org.gradle.api.DefaultTask
import org.gradle.api.attributes.AttributeMatchingStrategy
import io.spring.gradle.dependencymanagement.DependencyManagementPlugin
@@ -525,9 +526,8 @@ class GrailsGradlePlugin extends GroovyPlugin {
}
}
- protected void configureForkSettings(Project project, String
grailsVersion) {
-
- def systemPropertyConfigurer = { String defaultGrailsEnv,
JavaForkOptions task ->
+ protected <T extends JavaForkOptions & DefaultTask> void
configureForkSettings(Project project, String grailsVersion) {
+ def systemPropertyConfigurer = { String defaultGrailsEnv, T task ->
def map = System.properties.findAll { entry ->
entry.key?.toString()?.startsWith('grails.')
}
@@ -550,7 +550,6 @@ class GrailsGradlePlugin extends GroovyPlugin {
if (task.maxHeapSize == null) {
task.maxHeapSize = '768m'
}
- task.jvmArgs('-XX:+TieredCompilation', '-XX:TieredStopAtLevel=1',
'-XX:CICompilerCount=3')
// Copy GRAILS_FORK_OPTS into the fork. Or use GRAILS_OPTS if no
fork options provided
// This allows run-app etc. to run using appropriate settings and
allows users to provided
@@ -565,8 +564,8 @@ class GrailsGradlePlugin extends GroovyPlugin {
TaskContainer tasks = project.tasks
String grailsEnvSystemProperty = System.getProperty(Environment.KEY)
-
tasks.withType(Test).each(systemPropertyConfigurer.curry(grailsEnvSystemProperty
?: Environment.TEST.getName()))
-
tasks.withType(JavaExec).each(systemPropertyConfigurer.curry(grailsEnvSystemProperty
?: Environment.DEVELOPMENT.getName()))
+
tasks.withType(Test).configureEach(systemPropertyConfigurer.curry(grailsEnvSystemProperty
?: Environment.TEST.getName()))
+
tasks.withType(JavaExec).configureEach(systemPropertyConfigurer.curry(grailsEnvSystemProperty
?: Environment.DEVELOPMENT.getName()))
}
protected void configureConsoleTask(Project project) {