Skip to main content

Intro

Today, we're going to apply migration engineering with OpenRewrite.

This workshop consists of several sections, each focusing on a different aspect of improving your code.

  1. Analyze first - Starting out, we'll find what you're currently using, and how that would need to change.
  2. Outdated patterns - We'll dive deeper into common legacy testing frameworks and libraries that are still in use today.
  3. JUnit Jupiter - Next, we'll upgrade to JUnit 6 and learn its new features.
  4. Adopt AssertJ - Then, we'll dive into AssertJ for more expressive assertions.
  5. Upgrade your projects - Next, we'll apply what we've learned to upgrade real-world projects.
  6. Recipe development - Finally, we'll learn how to create custom OpenRewrite recipes to automate improvements in your own codebases.

Getting Started

Clone the repository

To get started, clone the workshop repository:

git clone https://github.com/openrewrite/migration-engineering-with-openrewrite.git
cd migration-engineering-with-openrewrite

This repository contains example code that you'll use throughout the workshop to explore the topics, write tests, and practice refactoring techniques.

Workshop structure

We recommend going through the sections in order, but you're welcome to go at your own pace.

You're also welcome to use your own projects to try out the improvements alongside the provided examples.

What you'll need

  • Java 8+, to run recipes
  • Gradle 4.10+, or
  • Maven 3+
  • Java 25+, to develop recipes