Skip to content

Add code quality tools with dedicated GitHub Actions#1768

Open
joelittlejohn wants to merge 5 commits intomasterfrom
add-code-quality-tools
Open

Add code quality tools with dedicated GitHub Actions#1768
joelittlejohn wants to merge 5 commits intomasterfrom
add-code-quality-tools

Conversation

@joelittlejohn
Copy link
Copy Markdown
Owner

Add four code quality tools, each in its own Maven profile and GitHub Action:

  • SpotBugs (-Pspotbugs): Static bug detection
  • PMD (-Ppmd): Code style and best practices
  • Error Prone (-Perrorprone): Compile-time error checking
  • JaCoCo (-Pjacoco): Code coverage reporting with aggregate report

These tools only run in their dedicated workflows, not during normal CI builds.

Also fixes:

  • FormatRule: Make static date format fields final (SpotBugs high priority)
  • JsonPointerUtils: Replace double-brace initialization (Error Prone)

This is just an experiment for now. I'm interested to see what it's like to have these separate actions run and examine the code.

@joelittlejohn
Copy link
Copy Markdown
Owner Author

I feel bad for the amount of GitHub's compute I'm using :) but are these useful? Some more work needed to create useful reports I think, but I like how the dedicated GitHub actions mean that the checks on GitHub show exactly which tool is complaining.

@joelittlejohn joelittlejohn force-pushed the add-code-quality-tools branch 2 times, most recently from 51494a0 to 8065144 Compare February 8, 2026 12:17
@joelittlejohn joelittlejohn force-pushed the add-code-quality-tools branch 8 times, most recently from 89c545b to 13ac5f2 Compare February 14, 2026 19:10
Add four code quality tools, each in its own Maven profile and GitHub Action:
- SpotBugs (-Pspotbugs): Static bug detection
- PMD (-Ppmd): Code style and best practices
- Error Prone (-Perrorprone): Compile-time error checking
- JaCoCo (-Pjacoco): Code coverage reporting with aggregate report

These tools only run in their dedicated workflows, not during normal CI builds.

The gradle-plugin module overrides the errorprone profile to continue using
the groovy-eclipse-compiler instead of Error Prone.

Also fixes:
- FormatRule: Make static date format fields final (SpotBugs high priority)
- JsonPointerUtils: Replace double-brace initialization (Error Prone)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant