This is an automated email from the ASF dual-hosted git repository. jdaugherty pushed a commit to branch singleGroovy in repository https://gitbox.apache.org/repos/asf/grails-core.git
commit 3c789590af221569f68af735f1177356473e0abc Author: James Daugherty <[email protected]> AuthorDate: Fri May 23 00:46:14 2025 -0400 optimizing build for single groovy version --- etc/bin/test-reproducible-builds.sh | 4 ++-- etc/bin/verify-distribution.sh | 2 +- gradle.properties | 4 +++- gradle/java-config.gradle | 2 +- grails-data-docs/stage/build.gradle | 2 ++ grails-doc/build.gradle | 8 ++------ 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/etc/bin/test-reproducible-builds.sh b/etc/bin/test-reproducible-builds.sh index 31c171a76b..363eb9a3e6 100755 --- a/etc/bin/test-reproducible-builds.sh +++ b/etc/bin/test-reproducible-builds.sh @@ -28,7 +28,7 @@ cd "${SCRIPT_DIR}/../.." rm -rf "${SCRIPT_DIR}/results" || true mkdir -p "${SCRIPT_DIR}/results" -git clean -xdf --exclude='etc/bin' +git clean -xdf --exclude='etc/bin' --exclude='.idea' --exclude='.gradle' killall -e java || true cd grails-gradle ./gradlew build --rerun-tasks -PskipTests --no-build-cache @@ -38,7 +38,7 @@ cd .. mkdir -p "${SCRIPT_DIR}/results/first" find . -path ./etc -prune -o -type f -path '*/build/libs/*.jar' -print0 | xargs -0 cp --parents -t "${SCRIPT_DIR}/results/first/" -git clean -xdf --exclude='etc/bin' +git clean -xdf --exclude='etc/bin' --exclude='.idea' --exclude='.gradle' killall -e java || true cd grails-gradle ./gradlew build --rerun-tasks -PskipTests --no-build-cache diff --git a/etc/bin/verify-distribution.sh b/etc/bin/verify-distribution.sh index 40b9173c8c..23855cd9bd 100755 --- a/etc/bin/verify-distribution.sh +++ b/etc/bin/verify-distribution.sh @@ -40,7 +40,7 @@ else exit 1 fi -git clean -xdf --exclude='etc/bin' +git clean -xdf --exclude='etc/bin' --exclude='.idea' --exclude='.gradle' killall -e java || true cd grails-gradle ./gradlew build --rerun-tasks -PskipTests --no-build-cache diff --git a/gradle.properties b/gradle.properties index 6240132477..7f7c99b50c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -49,7 +49,9 @@ org.gradle.caching=true # org.gradle.configuration-cache=true org.gradle.parallel=true org.gradle.daemon=true -org.gradle.jvmargs=-Dfile.encoding=UTF-8 -Xmx1792M -XX:MaxMetaspaceSize=1024M +# do NOT turn on due to https://github.com/gradle/gradle/issues/9489 +#org.gradle.configureondemand=true +org.gradle.jvmargs=-Dfile.encoding=UTF-8 -Xmx4G -XX:MaxMetaspaceSize=2G -XX:+UseParallelGC # libraries only specific to test apps, these should not be exposed jbossTransactionApiVersion=2.0.0.Final diff --git a/gradle/java-config.gradle b/gradle/java-config.gradle index 6f7c3f544f..9c6c845e9c 100644 --- a/gradle/java-config.gradle +++ b/gradle/java-config.gradle @@ -38,7 +38,7 @@ tasks.withType(GroovyCompile).configureEach { groovyOptions.parameters = true options.encoding = 'UTF-8' // encoding needs to be the same since it's different across platforms options.fork = true - options.forkOptions.jvmArgs = ['-Xms128M', '-Xmx1G'] + options.forkOptions.jvmArgs = ['-Xms128M', '-Xmx2G'] } // Grails determines the grails version via the META-INF/MANIFEST.MF file diff --git a/grails-data-docs/stage/build.gradle b/grails-data-docs/stage/build.gradle index e9c7f7354b..aa4337d23c 100644 --- a/grails-data-docs/stage/build.gradle +++ b/grails-data-docs/stage/build.gradle @@ -70,6 +70,8 @@ combinedGroovydoc.configure { Groovydoc task -> task.classpath = files(sources.collect{ SourceSet it -> it.compileClasspath.filter(File.&isDirectory) }.flatten().unique()) task.destinationDir = project.layout.buildDirectory.dir('data-api/api').get().asFile + task.dependsOn(docProjects.collect { ":$it.name:groovydoc" }) + task.inputs.files(task.source) task.outputs.dir(task.destinationDir) } diff --git a/grails-doc/build.gradle b/grails-doc/build.gradle index 33d04d7665..15b717c858 100644 --- a/grails-doc/build.gradle +++ b/grails-doc/build.gradle @@ -26,12 +26,6 @@ plugins { id 'groovy' } -// Make sure doc projects are evaluated last so they pick up all projects with documentation since they are dynamically -// found by the aggregateGroovydoc task -rootProject.subprojects - .findAll { !(it.name in testProjects) && it.name != project.name && !(it.name in cliProjects) && !(it.name in profileProjects) } - .each { project.evaluationDependsOn(it.path) } - compileJava.options.release = javaVersion.toInteger() version = projectVersion @@ -98,6 +92,8 @@ combinedGroovydoc.configure { Groovydoc gdoc -> gdoc.classpath = files(sources.collect{ SourceSet it -> it.compileClasspath.filter(File.&isDirectory) }.flatten().unique()) gdoc.destinationDir = project.layout.buildDirectory.dir('combined-api/api').get().asFile + gdoc.dependsOn(docProjects.collect { ":$it.name:groovydoc" }) + gdoc.inputs.files(gdoc.source) gdoc.outputs.dir(gdoc.destinationDir) }
