You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Mar 2, 2026. It is now read-only.
I want to implement the checker framework and not create unnecessary tasks until it is needed. Hence for any changes made to our gradle build we run a gradle build scan to try and avoid task creation. See Gradle's avoidance page.
To keep things as simple as possible I created an empty Gradle project and modified the build.gradle.kts file to look as follows:
Running a build scan via the command line .\gradlew.bat help --scan I can see that the task "createCheckerFrameworkManifest" gets created everytime. If it is a multi level project this gets created per subproject.
Had a look and it seems to be in the CheckerFrameworkPlugin.groovy class where the findByName method will go and create the task every time:
// To keep the plugin idempotent, check if the task already exists.
def createManifestTask = project.tasks.findByName(checkerFrameworkManifestCreationTaskName)
if (createManifestTask == null) {
createManifestTask = project.task(checkerFrameworkManifestCreationTaskName, type: CreateManifestTask)
createManifestTask.checkers = userConfig.checkers
createManifestTask.incrementalize = userConfig.incrementalize
}
Is there any future plans to make the plugin task avoidance compliant?
I want to implement the checker framework and not create unnecessary tasks until it is needed. Hence for any changes made to our gradle build we run a gradle build scan to try and avoid task creation. See Gradle's avoidance page.
To keep things as simple as possible I created an empty Gradle project and modified the build.gradle.kts file to look as follows:
Running a build scan via the command line
.\gradlew.bat help --scanI can see that the task "createCheckerFrameworkManifest" gets created everytime. If it is a multi level project this gets created per subproject.Had a look and it seems to be in the
CheckerFrameworkPlugin.groovyclass where thefindByNamemethod will go and create the task every time:Is there any future plans to make the plugin
task avoidancecompliant?