apache / apache/storm

Upgrade Checkstyle to latest version and modernize `storm_checkstyle.xml`

Open
#8,585 8 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
6.7k
Forks
4k
Avg merge
1d 7h
Merged PRs (30d)
62

Description

The project is currently using a significantly outdated version of Checkstyle (v8.2).
This version is several years old and lacks support for modern Java syntax and improved linting features found in the latest releases.
https://mvnrepository.com/artifact/com.puppycrawl.tools/checkstyle/versions

Continuing with this outdated version presents several issues:

- Strict import enforcement: Newer versions of Checkstyle handle CustomImportOrder differently. We are currently seeing warnings (or being forced into specific import hacks) regarding the STATIC group because the old version's rules are inconsistent with modern IDE defaults.
- Configuration inconsistency: the file `storm_checkstyle.xml` is based on an ancient version of Google’s checkstyle config (v7.7). Many properties used in our XML are deprecated or have been removed in Checkstyle 10+, making the current configuration incompatible with the latest tooling.
- Modern Java support.

Proposed Changes:
- Bump dependency
- Update `storm_checkstyle.xml`

Contributor guide

No contributing guide indexed for this repository

Research direction

Locate the Checkstyle dependency and storm_checkstyle.xml, then review the current version and configuration against a supported modern release. Verify the updated configuration handles modern Java syntax and CustomImportOrder behavior without deprecated or removed properties. Done means the dependency and XML configuration are compatible and the project's Checkstyle validation passes.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system, tooling
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.