GSoC 2025 Midterm - Improving Plugin Modernizer

Hello everyone,
I’m Raunak Madan, currently working on the Improving Plugin Modernizer project — a generic CLI tool designed to automate the modernization of Jenkins plugins. It leverages OpenRewrite recipes to apply code transformations, validate the results, and create pull requests with the proposed changes. For a detailed overview of the project, please refer to the project page.
What we’ve accomplished so far?
-
Automatic Extraction of Modernization Metadata: Record migration status, related pull requests, and more.
-
Metadata Publishing: Automatically pushes metadata to a public GitHub repository.
-
GitHub Action Workflows:
-
Validate incoming metadata and auto-merge PRs.
-
Dynamically update metadata.
-
Consolidate metadata for each plugin.
-
Generate comprehensive reports on applied recipes and plugin migrations to provide a high-level overview.
-
Check out the demonstration of the tool from the Jenkins in Google Summer of Code page.
What I’ve Learned?
This experience has been a great opportunity for learning by doing. Beyond the technical skills, I think open source is not just about writing code, it’s about collaboration with the mentors and the community and having a shared growth mindset. Asking for help publicly, supporting others, and contributing back are core aspects of this culture.
What’s Next?
-
Automate running recipes on plugins with low health scores.
-
Create and improve recipes (e.g., a recipe to migrate plugins to Java 25).
-
Push consolidated metadata and reports to Jenkins reports site.
Acknowledgements
A huge thank you to my mentors, Valentin Delaye, Bruno Verachten, Sridhar Sivakumar, Phillipp Glanz, for their constant support, responsiveness, and timely reviews throughout the journey.
I’d also like to thank the organization admins Kris Stern, Bruno Verachten, and Alyssa Tong for always checking in and offering help, your kindness and support mean a lot.
Excited for the second phase of the project!