Goal: Explore ways OpenRewrite recipes can be used for Jenkins plugin modernization or automation of plugin build metadata updates
Status: Selected
OpenRewrite enables large-scale distributed source code refactoring for framework migrations, vulnerability patches, and API migrations via large-scale automated source code refactoring. While the original focus was on the Java language, OpenRewrite is continuously expanding language and framework coverage.
The Jenkins ecosystem combines a monolithic core with a modular plugin system. True, this design provides a great degree of flexibility and robustness, yet also it poses challenges to propagating large-scale changes throughout the ecosystem. The lack of automation has led to many plugins falling behind with regard to ecosystem-wide migrations. This project proposes the creation of a new tool to apply generic transformations across the Jenkins ecosystem.
The project will consist of the following steps:
Research: Identify common patterns in Jenkins plugins that can be automated.
CLI tool: Create a new CLI tool that can apply OpenRewrite recipes to Jenkins plugins.
Recipes: Create OpenRewrite recipes that can be used to modernize Jenkins plugins.
Integration: Integrate the new tool with the Jenkins plugin ecosystem.
(General) Official weekly Jenkins office hours: Thursdays 13:00 UTC
(Project-based) Weekly project based office hours: Tuesdays 15:00 UTC (Direct link)