Hi Team,
I wanted to share a quick update on the recent progress regarding the migration of Checkstyle CodeBase to Java 17 .
We have successfully completed the migration of all non-compilable inputs to the appropriate compiled folders and removed JDK 11 support from our CI pipelines.
Inputs Migration
Moved all inputs targeting JDK 8 to 17 from resources-noncompilable/ to their respective compiled folders.
CI Updates
Updated base images in CI to cimg/openjdk:17.0.7.
Removed the following JDK 11-specific jobs:
javac11 validation
jdk11-package-site
Updated sample compilation jobs (Ant, Maven, Gradle) to use JDK 17.
Resolve test failures caused by file path changes.
Investigate and fix any remaining CI failures.
The migration involved considerable manual effort due to the large number of files (for JDK ≤ 17) originally placed in the non-compilable folder. Each file required careful verification before moving to the appropriate location.
Please feel free to reach out if you have any questions or need further details.
Best regards,
Amit
Hi Twam,
I wanted to share a summary of the work I’ve completed between Friday and Monday regarding the JDK 17 migration efforts:
Migrated Non-Compilable Files to JDK 17 Compatible List
Moved several non-compilable test input files to the compilable list under JDK 17.
🔗 PR: https://github.com/checkstyle/checkstyle/pull/17185
Fixed Failing Pipeline
Investigated and resolved a critical CI pipeline failure that was blocking progress. This required deep debugging and validation to ensure all jobs are now passing.
Docker Setup for Java 17 Build
Added and tested Dockerfile support to build and test with JDK 17.
🔗 PR: https://github.com/checkstyle/contribution/pull/942
CI Updates
Migrated some GitHub workflows to run with Java 17 for better alignment with the ongoing upgrade path.
🔗 PR: https://github.com/checkstyle/checkstyle/pull/17184
Move the remaining files to compilable list via separate PRs for clarity and review ease.
Complete Docker Hub testing for end-to-end validation with Sonar integration.
Best regards,
Amit
Hi Team,
This week, my primary focus was on migrating all JDK 17 compatible files from the non-compilable folder to the compilable folder. I worked in batches to ensure smooth transitions and maintain code quality throughout the process.
✅ Highlights:
Successfully merged over 20 PRs, with each batch containing approximately 28–30 files.
Verified compatibility and ensured smooth builds post-migration.
Example PR: https://github.com/checkstyle/checkstyle/pull/17219
This brings us significantly closer to completing the full JDK 17 migration. Let me know if there's anything you'd like me to prioritize next.
Best regards,
Amit
Hi Team,
This week, I focused on migrating some of the more complex CI configurations as part of the ongoing JDK 17 compatibility effort. A significant amount of time was spent debugging the CI pipelines due to their intricate and legacy setups.
I'm glad to report that I was able to successfully debug and make both the following CI-related pull requests mergeable:
PR #17232 – Linkcheck CI Migration
Migrated the LinkcheckPlugin to be compatible with JDK 17. This involved formatting issues.
(Part of Issue #17168)
PR link: https://github.com/checkstyle/checkstyle/pull/17232
PR #17231 – Additional CI Migration Fixes
Addressed further compatibility issues and enhancements related to CI job execution.
PR link: https://github.com/checkstyle/checkstyle/pull/17231
Both PRs are now stable and ready for review.
Let me know if any further updates are required.
Best regards,
Amit
Hi Team,
Here’s a quick update on the work completed till Thursday, 19th June:
Worked on debugging the Docker image; successfully included Ant and resolved Javadoc-related issues.
The Docker image is now ready and can be pushed to the Checkstyle Docker Hub. It will be used across multiple CI pipelines.
Also began updating some CI workflows to JDK 17. Encountered a few compatibility issues, which I suspect will be resolved once the latest JDK 17 Docker image is pulled.
Let me know if any clarification is needed.
Best,
Amit
Hi Team
Here’s a quick update on my recent contributions to Checkstyle till 14th July:
All Inspections are solved, Pom is upgraded to JDK17 and we have resolved all run-inspection errors, Here is the other subparts that needed to be solved apart from main updates.
Xdoc Migration to JDK 17
Merged PR: https://github.com/checkstyle/checkstyle/pull/17340
Summary: Upgraded the Xdoc Import files to support JDK 17.
Related Issue: https://github.com/checkstyle/checkstyle/issues/17321
Error Prone Core Upgrade
Merged PR: https://github.com/checkstyle/checkstyle/pull/17354
Summary: Bumped com.google.errorprone:error_prone_core dependency to 2.40.0.
Related Issue: https://github.com/checkstyle/checkstyle/issues/17346
Saxon-HE Dependency Migration
In Progress PR: https://github.com/checkstyle/checkstyle/pull/17375
Summary: Upgrading net.sf.saxon:Saxon-HE from 12.5 to 12.8.
Related Issue: https://github.com/checkstyle/checkstyle/issues/17317
Please let me know if any further information is needed.
Best regards,
Amit
Hi Team
Here is a summary of my updates for this week:
Checkstyle - Input Files Handling for Eclipse Static Analysis
Moved input files causing issues in Eclipse static analysis to a non-compilable folder.
Related to: Issue #13209
Reference: Old ECJ CLI Manual
Regression Report Fix
Fixed regression-report.yml so it now correctly posts error messages.
Solves: Issue #15776
Refactoring Unmodifiable List Usage
Merged PR to replace collect(toUnmodifiableList()) with toList() for better readability and performance.
Related to: Issue #17303
Pattern Variable Refactoring
Merged PR to refactor instanceof checks using pattern variables.
Related to: Issue #17302
Sevntu Migration to JDK17
Migrated Sevntu Checkstyle to JDK 17.
PR: https://github.com/sevntu-checkstyle/sevntu.checkstyle/pull/1045
Related to: Issue #1039
Best regards,
Amit Kumar Deoghoria