Skip to content

Checkstyle Improvements #1328

Closed
Closed
@RussellSpitzer

Description

@RussellSpitzer

Ok so I've spent possibly to much time looking into this today, the reason some the checks don't work is basically just bugs in earlier versions of checkstyle. Since we get Checkstyle through Palantir's baseline-java we can upgrade basline-java and in doing so upgrade our Checkstyle. Doing this requires disabling a large number of warnings and checks that we don't currently care about as well as handling some deprecated configurations. I ran through a prototype of this and it's a bit annoying, but the upgraded checkStyle though does fix a bunch of our missing rules and false negatives.

Iceberg currently has Checkstyle 8.13 (Current is 8.34) via Baseline 0.55.0 (Current is 3.36.1)

For example

  1. x=5 : WhitespaceAround, noting that there isn't whitespace around the assignment. This is fixed in 8.14
  2. foo {\n\n\n} : MultipleBlankLines, MultilineRegexp has some weird behavior, I can't figure out why it triggers sometimes and doesn't other times, Seems fixed in 8.25
  3. //fooo : Space after comment is just a fast rule we can add, we can fix this without a change in the style module

Not sure if anyone has strong feelings about doing some version bumps
or
We can fix at least the whitespace issues by adding some additional rules to our Checkstyle.xml

Note if you are using Checkstyle-IDEA you can bump up the Checkstyle version up to a bit to get some of these fixes, but they won't show up in Gradle.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions