Skip to content

allegro/allwrite

Repository files navigation

allwrite

What is allwrite? It's all you need for automatic code migrations!

  • a CLI tool for running recipes via friendly names
  • a collection of recipes, filling the gaps in vanilla OpenRewrite
  • a GitHub action integrating with Dependabot (coming soon)
  • a GitHub bot automatically running migrations for Dependabot PRs (coming soon)

Usage

Installation:

brew tap allegro/tap
brew install allwrite

Run a recipe by friendly name:

allwrite run springBoot/upgrade 3.5 4.0

Run a recipe by fully-qualified name:

allwrite run --recipe pl.allegro.tech.allwrite.recipes.SpringBoot4

List available recipes:

allwrite ls

List all available recipes (the output will be huge):

allwrite ls -a
# or
allwrite ls --all

Recipes

The allwrite CLI comes with all the free OpenRewrite migrations bundled (Java/Kotlin refactoring, Spring Boot upgrades, etc.).

In addition, it provides a collection of custom recipes that aim to fill the gaps. See RECIPES.md for the full list.

If you're a library maintainer and want to automate the migration process for your users (or just have prepared a recipe that may be useful for others), we would love to see your contribution! ❤️

External recipes

You can register external JARs to extend allwrite with additional recipes from any URL.

Add an external recipe JAR:

allwrite external add custom-recipes https://repo.com/custom-recipes-1.0.0.jar

Update an external recipe JAR with a new URL:

allwrite external update custom-recipes https://repo.com/custom-recipes-2.0.0.jar

Re-fetch an external recipe JAR from its stored URL:

allwrite external update custom-recipes

List all registered external recipe JARs:

allwrite external ls

Remove an external recipe JAR:

allwrite external rm custom-recipes

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages