OpenRewrite - инструмент массового "автоматического" рефакторинга.
И так, типичная проблема где инструмент может пригодится. У вас большая однообразная (не в смысле скучная а в смысле стандартизированная) кодовая база. Вам нужно массово обновить все проекты. Поднять версию фреймворка или зависимостей. Можно конечно писать самодельные скрипты, ну или взять OpenRewrite, записываем "рецепт" что нам нужно поменять и запускаем где-нибудь. OpenRewrite - OpenSource решение от компании Moderne (у них есть платное решение)
У проекта интересная история, Jonathan Schneider работал в Netflix на инструментами для разработчиков и разработал там Rewrite. Команды и код в Netflix очень распределенные и инструмент помогал командам обновлять свои зависимости. Спустя несколько лет Jonathan основал компанию Moderne и разработал OpenRewrite.
На офсайте есть много готовых скриптов для решения разных проьлем. Обновления версии спринга, версии jUnit, переименование методов.
И вот попалась статья про реальный кейс, Allegro обновляли свои проекты с помощью OpenRewrite, но они сделали еще вокруг него свою автоматизацию на базе gihub бота Dependabot. Это решение теперь у них работает на постоянку (например для критичных уязвимостей, когда нужен срочный апдейт)
https://blog.allegro.tech/2024/09/automating-code-migrations-at-scale.html
Jonathan Schneider, Co-founder, Moderne
https://www.youtube.com/watch?v=bQgO33LLfAs
Post #719
367