-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Open
Labels
BuildBuild Tasks/Gradle Plugin, groovy scripts, build tools, Javadoc enforcement.Build Tasks/Gradle Plugin, groovy scripts, build tools, Javadoc enforcement.enhancementEnhancement or improvement to existing feature or requestEnhancement or improvement to existing feature or request
Description
Is your feature request related to a problem? Please describe
Add rewrite
support for errorprone.refasterrules
I’d like to propose integrating Google’s Error Prone and its Picnic extension (demonstrated in Automating Away Bugs with Error Prone | PlatformCon 2023) to enable automated bug fixes via rewrite
rules. This would complement Checkstyle’s static analysis capabilities by addressing semantic bugs rather than stylistic issues.
Motivation
Error Prone’s refaster
/rewrite
rules can automatically:
- Fix common bug patterns (e.g.,
String.equals()
misuse) - Modernize code (e.g., JDK migration helpers)
- Enforce best practices (e.g., null-check improvements)
Real-world adoptions show tangible benefits:
Proposal
- Add support for
errorprone.refasterrules
-based rewrites - Implement with opt-in adoption (no breaking changes)
- Include suppression mechanisms for API constraints
Discussion Points
- Need consensus on:
- Scope of auto-fixes
- Preferred suppression strategy
- Integration approach
Next Steps
I’m happy to:
- Prepare a PoC demonstrating the value
- Collaborate on implementation strategy
- Address any concerns about compatibility
relates to:
Describe the solution you'd like
Related component
Build
Describe alternatives you've considered
No response
Additional context
No response
Metadata
Metadata
Assignees
Labels
BuildBuild Tasks/Gradle Plugin, groovy scripts, build tools, Javadoc enforcement.Build Tasks/Gradle Plugin, groovy scripts, build tools, Javadoc enforcement.enhancementEnhancement or improvement to existing feature or requestEnhancement or improvement to existing feature or request