8000 checkstyle: add 14.3.0 by bryan-minimal · Pull Request #906 · gominimal/pkgs · GitHub
[go: up one dir, main page]

Skip to content

checkstyle: add 14.3.0 - #906

Merged
bryan-minimal merged 4 commits into
mainfrom
add-checkstyle
Oct 22, 2026
Merged

bryan-minimal merged 4 commits into
mainfrom
add-checkstyle

Conversation

@bryan-minimal
@bryan-minimal bryan-minimal commented Oct 16, 2026 •
Copy link
Copy Markdown
Member

What

Adds checkstyle 14.3.0, the Java style and convention linter. It is a Tier 1 item in the #899 Java loadout checklist.

  • Artifact: the upstream checkstyle-14.3.0-all.jar from GitHub releases (checkstyle plus its dependencies, with Main-Class set). It is installed at usr/share/checkstyle/checkstyle.jar and run on our jdk through a /usr/bin/checkstyle wrapper (exec java -jar …). google_checks.xml and sun_checks.xml are bundled as classpath resources, so checkstyle -c /google_checks.xml File.java works with no extra files. 14.x targets Java 21 (class file version 65); our jdk is 25 (Temurin, since jdk: current LTS (meta over jdk-25); add jdk-25 (Temurin 25) and jdk-21 (Temurin 21) #897), which satisfies it.
  • Prebuilt, not built from source: upstream builds with a Maven reactor that resolves dependencies from Maven Central at build time. This is the same tradeoff maven, gradle and jdtls make. Recorded as binary_from.
  • License: LGPL-2.1-or-later. The source headers say "either version 2.1 of the License, or (at your option) any later version". It is copyleft, so the corresponding-source report will want this jar's sources on the mirror like any LGPL package.
  • Version checking / CVE identity: source_provenance = GithubRepo checkstyle/checkstyle. Tags are checkstyle-<version>, which pkgmgr strips as a package-name prefix.
  • sha256: 754e218a…ee749b2, computed locally and matching the GitHub release asset digest.

Tests (Standalone)

  • google_checks: a class bad_name {} file must produce a [WARN] … [TypeName] finding. A conforming file must report no [WARN]. The conforming file is demo/Good.java with package demo;, because PackageDeclaration is in the Google set.
  • exit_code: sun_checks.xml uses severity error, and checkstyle exits with the error count, so the same bad file must fail the run with an [ERROR] … [TypeName] line.

Verified

Built in a pkgbuild session (arm64). min check --packages checkstyle passed every checker, including standalone tests. The first draft of the test had a "clean" file with no package declaration, and it correctly failed on the PackageDeclaration warning. That is the negative control.

amd64 is not separately run locally; it is left to CI.

Refs #899

🤖 Generated with Claude Code

JVM tool for the Java loadout (#899): upstream release artifact run on
our jdk through a /usr/bin wrapper, with Standalone tests that run the
tool on a small real input.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@bryan-minimal
bryan-minimal requested a review from a team as a code owner October 16, 2026 20:31
@coderabbitai
coderabbitai Bot commented Oct 16, 2026 •
Copy link
Copy Markdown
Contributor

Warning

Review limit reached

  • Run on-demand review

This review includes 2 billable files and costs up to $0.50.

  • Ask an admin to make reviews automatic

Open in CodeRabbit

Reviews can continue after your included limit without a manual trigger. An admin must approve usage-based billing.

Or wait 15 minutes for your next included review.

Check out review usage here.

View limit details

Limit details: You’ve used all 2 included reviews currently available. Your 58 included PR review attempts over the past 7 days set your current allowance at 2 reviews per hour.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Repository: gominimal/pkgs/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Essentials
  • Run ID: dbb5bc35-36f0-4795-acd2-1dd90e3fbc3f
📥 Commits

Reviewing files that changed from the base of the PR and between 0618acc and 0b2c8b6.

📒 Files selected for processing: 2
  • packages/checkstyle/build.ncl
  • packages/checkstyle/build.sh
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@norrietaylor norrietaylor left a comment
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clean. The sha256 matches, LGPL-2.1-or-later is correct, and the tests cover both google_checks.xml (warning) and sun_checks.xml (error).

  • Nit, build.sh:8: use install -m 0644 instead of cp, as #922 and #923 do.

Holding approval only on the shared JVM prebuilt-jar policy question, which is being decided once for the batch.


Generated by Claude Code

bryan-minimal and others added 2 commits October 21, 2026 19:06
Review nit: cp left the jar mode to however it was fetched; install -m
0644 makes it deterministic, as #922 and #923 do.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@bryan-minimal
Copy link
Copy Markdown
Member Author

Thanks @norrietaylor.

bash -n, nickel format --check and mip dump --packages (amd64) are clean after the merge.

🤖 Generated with Claude Code

@norrietaylor norrietaylor left a comment
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving under #970. The install -m 0644 nit is fixed and the branch is past #897. Please merge after #970.


Generated by Claude Code

@bryan-minimal
bryan-minimal added this pull request to the merge queue Oct 22, 2026
Merged via the queue into main with commit ce5d15e Oct 22, 2026
11 checks passed
@bryan-minimal
bryan-minimal deleted the add-checkstyle branch October 22, 2026 23:22
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.

2 participants

0