jprinet opened a new pull request, #14895: URL: https://github.com/apache/grails-core/pull/14895
### Issue The build performances are currently not optimal and could be improved. Focusing on build cacheability, running twice the build without any change and cache enabled on a fresh Gradle user home surfaces some performance issues, which can result in up to 26mn of CPU time wasted on a build. ### Experiment I used an automated experiment to run the build twice ([GitHub workflow](https://github.com/gradle/develocity-oss-projects/actions/runs/16201427211/workflow)) The summary of the experiment can be checked [there](https://github.com/gradle/develocity-oss-projects/actions/runs/16201427211) We can in particular notice [the second build](https://ge.solutions-team.gradle.com/s/6hnubh6rve352/timeline?cacheability=cacheable&outcome=success) from experiment 3 suffering from 171 unexpected cache misses, totalling almost 26mn of serial time. <img width="1772" height="1186" alt="Screenshot 2025-07-11 at 3 46 45 PM" src="https://github.com/user-attachments/assets/c79c3c59-1c2b-40b5-aa0b-96fefea33503" /> ### Fixes Several fixes were applied and are isolated on specific commits for review convenience #### Apply `RelativePath` normalization on task inputs to improve cacheability - `aggregateDataMappingGroovydoc` - `aggregateGroovydoc` - `asciidoctor` - `compileGsonViews` - `compileProfile` #### Ignore `grails.build.info` with runtime classpath normalization - `compileIntegrationTestGroovy` - `compileTestGroovy` - `integrationTest` - `test` #### Fix overlapping outputs on assetCompile task - `assetCompile` #### Improve Javadoc cacheability by using date instead of instant on options.bottom task input - `javadoc` #### Fix AsciiDoc task cache relocatability by using relative paths instead of absolute paths - `asciidoc` #### Fix PublishGuideTask task cache relocatability by using relative paths instead of absolute paths - 'publishGuide' #### Fix GroovyPageForkCompileTask cacheability by defining a task output - `compileGroovyPages` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
