Coder Social home page Coder Social logo

sourav15102 / spring-boot-migrator Goto Github PK

View Code? Open in Web Editor NEW

This project forked from spring-projects-experimental/spring-boot-migrator

0.0 0.0 0.0 86.03 MB

Spring Boot Migrator (SBM) is a tool for automated code migrations to upgrade or migrate to Spring Boot

License: Apache License 2.0

Shell 0.13% JavaScript 0.06% Java 98.31% XSLT 0.02% CSS 0.15% HTML 0.91% RAML 0.01% FreeMarker 0.17% Dockerfile 0.01% Less 0.23%

spring-boot-migrator's Introduction

Spring Boot Migrator (SBM)

GitHub GitHub release (latest by date) GitHub release (latest by date) YouTube Channel Views

Join Slack green?logo=slack&color=007EC6&style=for the badge GitHub Discussions community?color=007EC6&logo=gitter&style=for the badge

Spring Boot Migrator (SBM) aims to help developers upgrade or migrate to Spring Boot by providing recipes for automated migrations.

Support and Requirements

✅ Java, JDK 17 ✅ Maven ❌ Kotlin ❌ Gradle

Spring Boot 3.0 Upgrade - Interactive Web UI

We are working on automated upgrade from Spring Boot 2.7 to Spring Boot 3.0.

Click the image to watch a demo video [2:26]

maxresdefault

Try the Spring Boot Upgrade Tool

Note
Use JDK 17
  1. Download the spring-boot-upgrade.jar

  2. Run java -jar --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED spring-boot-upgrade.jar <path-to-application>

If any of your applications is on 2.7 and uses Maven (Gradle is currently not supported), we’d be happy if you could give SBM a try and provide feedback of how it worked out. It is very hard to come up with all the possible setups found in the wild and therefor we need you - the community - to provide feedback to stabilize the recipe.

Thank you!

Contributing

Any contribution is appreciated! If you want to get involved, please have a look at Spring Boot 3 Upgrade Report Contribution Guideline where we provide information related to contributing to the Spring Boot 3 Upgrade. Please don’t hesitate to ask questions and provide feedback.

Find the list of Spring Boot 3 Upgrade related issues labeled as good first issue here

If you decided you want to work on an issue, leave a comment letting us know that you want to work on it and we go from there.

Thank you!

JEE to Spring Boot Migration

Spring Boot Migrator offers recipes to migrate JEE applications to Spring Boot.

These specifications are covered (to some extent and varying completeness)

  • Servlet

  • JAX-RS

  • SOAP

  • JMS

  • EJB

  • JPA

  • ejb-jar.xml

  • weblogic-ejb-jar.xml

Click the image to watch a demo video [16:57]

maxresdefault

How SBM works

Spring Boot Migrator uses and is compatible with OpenRewrite, a powerful mass refactoring ecosystem for Java and other source code.

Spring Boot Migrator offers a CLI to run recipes to migrate or upgrade a given application to Spring Boot. For developing new and custom recipes, SBM provides an opinionated API compatible with OpenRewrite recipes and a set of specialized resource representations to simplify recipe development for Spring Boot.

Scan application

A given codebase is scanned and a set of recipes gets evaluated against the codebase.

scan

Apply a recipe

The list of applicable recipes is displayed and recipes can be selected from the list to be run against the codebase.
The recipes either apply automated migrations or guide users on their migration journey.

apply

Spring Boot 3.0 Migrator - Java CLI

  • Download the latest release from here: Spring Boot Migrator Releases

  • Start the application: java -jar spring-boot-migrator.jar

  • In the CLI start by scanning the application scan <path-to-application>

  • From the list of applicable recipes select the one you want to apply,
    e.g.: apply initialize-spring-boot-migration
    Spring Boot Migrator will now apply the migrations defined in the recipe to the codebase.

  • To get help when using SBM use the help command

Note
When using Windows you must either escape \ or use / as path separator, e.g. C:\\my\\app or C:/my/app
Note
SBM requires a JDK 17.

Building from source

  • Clone the repository

  • Change into root dir

  • Run mvn clean install

  • Find the jar in applications/spring-shell/spring-boot-migrator.jar

Warning
Some integration tests use Docker so you’ll need Docker to run them.
You can pass the -DskipTests flag to the mvn command to ignore tests.

Contributing

If you have not previously done so, please sign the Contributor License Agreement. You will be reminded automatically when you submit the pull request.

All contributions are welcome.

Please refer to the CONTRIBUTING.adoc for more details.

This project requires Java 17.

spring-boot-migrator's People

Contributors

ahmedmq avatar ashakirin avatar benjaminherbert avatar bottemav avatar boykoalex avatar bsmahi avatar cab105 avatar dependabot[bot] avatar eddumelendez avatar fabapp2 avatar gitter-badger avatar ijusti avatar ishu-thakur avatar joecqupt avatar maarc avatar pedritod avatar ranma2913 avatar ravig-kant avatar rubengamarrarodriguez-tomtom avatar sanagaraj-pivotal avatar simontb avatar soumyaprakashb avatar szymonsadowski3 avatar tan9 avatar timtebeek avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.