Arconia Migrations
OpenRewrite recipes to automate refactoring, migrations, and upgrades for Java, Spring Boot, and Arconia projects.
What is Arconia Migrations?
Arconia Migrations is a curated catalog of OpenRewrite recipes that automate version upgrades and refactoring across the Spring ecosystem, the Arconia framework, common Java testing frameworks, and more. Each recipe handles the mechanical work of moving between versions: dependency bumps, deprecated API replacements, configuration property renames, and package relocations.
The recipes are designed to be composable. Higher-level upgrade recipes (such as UpgradeSpringBoot_4_0) chain together smaller, focused recipes (such as UpgradeSpringFramework_7_0 and UpgradeJUnit_6) so that a single command can take a project across multiple major versions at once.
| The Arconia Migrations project is currently in active development and not GA yet. We’re working hard to improve it and appreciate your patience as we refine the tool. Feel free to try it out and share your feedback! |
OpenRewrite
Arconia Migrations relies on OpenRewrite, an open-source automated refactoring framework, and builds on top of the open-source recipes from the OpenRewrite catalog, released under the Apache 2.0 license.
Features
-
Arconia. Recipes for upgrading the Arconia Framework across versions.
-
Spring. Recipes for Spring Boot, Spring Framework, Spring Cloud, and Spring AI.
-
Testing. Recipes for JUnit and Testcontainers.
Modules
The recipes are published in four Maven artifacts under the io.arconia.migrations group.
| Module | Recipes for |
|---|---|
|
|
|
|
|
|
|
Quick Start
You can run any Arconia Migrations recipe with the Arconia CLI:
arconia rewrite run --recipe-name io.arconia.rewrite.spring.boot4.UpgradeSpringBoot_4_0
Pass the --dry-run option to preview the changes a recipe would make without applying them to your project.
|
To see all recipes available in your project, run arconia rewrite discover. The Arconia CLI automatically bundles every Arconia Migrations library as well as common open-source libraries from the OpenRewrite catalog, so no extra configuration is needed.
|
Running Recipes
Every recipe in this project is a standard OpenRewrite recipe. That means you can run it with any OpenRewrite-compatible tool. The guides in this documentation show three of them — the Arconia CLI, the OpenRewrite Gradle plugin, and the OpenRewrite Maven plugin — but they’re not the only options.
The Arconia CLI is the recommended way to apply these recipes. It bundles all Arconia Migrations libraries out of the box, exposes convenience subcommands (for example, arconia update spring-boot --to-version=4.0), and gives the smoothest developer experience. For most upgrades, the CLI is enough.
The OpenRewrite Gradle and Maven plugins are the right choice when you need more control: customizing recipe options, integrating the migration into an existing build pipeline, or using an on-prem Maven repository instead of Maven Central. They take more configuration than the CLI, but they expose the full surface of the underlying OpenRewrite plugin.
Community
The Arconia Migrations project was created by Thomas Vitale. Contributions, feedback, and bug reports are welcome on GitHub.