Program JavaZone

Foredrag Onsdag 2. september

Managing the chaos: Automating internal dependency upgrades with OpenRewrite

Room 7

Engelsk 45 min OpenRewrite Build tooling Maven Innersource Library

Jago de Vreede

Jago is a full-stack software engineer at TenneT, as a software engineer, he has seen a broad spectrum of projects. He also likes to take Java to the extreme and do things with are not normally done with Java, like playing an automated guitar. He is passionate about his work and likes to share his knowledge and has therefore spoken at conferences worldwide.

We build a lot of microservices where common functionality is extracted into shared, innersource libraries. We manage 30+ of these libraries used by dozens of downstream applications or other libraries. Sometimes we need to break the API or require new configuration.
In these cases, version bumps alone are rarely enough. Tools like Dependabot can update dependencies, but they cannot refactor code, migrate configuration, or make breaking changes explicit. Engineers are left to read changelogs, hunt through compile errors, and reapply the same fixes across repositories. And, worst of all, many teams will probably need to do the same thing.
That’s why we decided to stop just managing version bumps and instead automate the refactoring itself. We adopted OpenRewrite to define custom recipes that automatically apply changes. Breaking changes became executable migration guides instead of documentation no one reads.
In this talk you will learn how to set up OpenRewrite for internal libraries. Build and test your custom recipes.

Java developers in larger projects

  1. Å skifte vinger i lufta eller hjul mens sykkelen er i nedoverbakke: Modernisering av samfunnskritiske systemer uten høye skuldre Room 1
  2. Hexagonal happiness! Room 2
  3. No More Forks: Policy Transformation for Terraform at Scale Room 3
  4. Global Cultural Reflections on Software Testing Practices Room 4
  5. Your Database Sprawl is a 1990s Workaround, Give it a KISS Room 5
  6. Nyheter i JavaScript - ES2026 Room 6
  7. Gentle Introduction to Lock-Free Programming in Java Room 8
  8. Korleis me gjekk frå React til CSS hos Designsystemet Room 6
  9. Få oversikt over JSON med JSONata-spørringer Room 6