-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enable compilation avoidance #34100
base: main
Are you sure you want to change the base?
Enable compilation avoidance #34100
Conversation
<version.sisu.inject>0.3.5</version.sisu.inject> | ||
<version.hibernate-jpamodelgen>6.2.4.Final</version.hibernate-jpamodelgen> | ||
<version.stork-configuration-generator>2.2.0</version.stork-configuration-generator> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I need to have a look at that but we probably need to adjust how the version are defined as they need to be consistent with the one in the BOM.
Don't change anything, I'll think about it and talk to @aloubyansky too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, there are some duplications but I didn't want to introduce an even more complex change.
Hey @jprinet , What sort of benefits would this one have? I'm asking because it's quite intrusive and also things could be easily missed in the future. For now, I haven't included this work in the big Build cache PR. |
You can find the details in the documentation there @gsmet The benefit then depends on the type of change, it is difficult to estimate. The gain is expected to happen on the compilation goal, subsequent goals may also benefit if recompiling change their inputs. |
@jprinet FYI, I plan to revisit this once the new annotation processor is in. The Panache annotation processor is also gone so it should simplify things even further. I'll start from your commit and simplify things from there. |
To be honest I am not happy with the changeset but I could not find a way to set it programmatically. |
@gsmet Did you apply your new approach? |
The Gradle Enterprise extension can improve build performances by using compilation avoidance.
This feature is enabled if the compiler is hinted not to use annotation processors (
<proc>none</proc>
) or if all annotation processors found on the classpath are listed as part of theannotationProcessorPaths
.This PR aims to fix this. Please note that I collected all the modules for which the compilation avoidance was disabled by running locally the build on all projects with tests:
./mvnw clean install
It is then easy to spot the console output for compilation goals containing: