mulesoft / mule-migration-assistant

Migration Framework
Apache License 2.0
0 stars 0 forks source link

Mule Migration Assistant

MMA Build Actions Status

Mule Migration Assistant is a command-line tool that helps migrate Mule 3.x applications to Mule 4.x. This tool works on a "best-effort" basis to translate every component in the base application. This means that if it does not complete 100% of the migration, manual adjustments are required. A migration report generated when the assistant is ran can help with those adjustments.

License

Mule Migration Assistant is distributed under the terms of the Apache 2.0 License

Important: Mule Migration Assistant (MMA) is subject to the terms and conditions described for Community connectors.

Overview

In order to understand the tool, let's start with a couple of informal definitions:

In simple terms, the tool executes a sequence of tasks over a project and outputs a migrated project and a report about the migration.

Architecture

The Mule Migration Assistant workflow is designed as follows:

![Mule Migration Assistant Architecture](./architecture.svg "A visual representation of the relation between different components that take part of a recording")

Modules

Getting Started

These are the instructions to have the project up and running.

If you would just like to download/access the MMA tool (compiled version), you can download/access available versions from the releases location.

Minimum requirements

Build and Run

See the following commands in order to clone, build and run this project

$ git clone git@github.com:mulesoft/mule-migration-assistant.git
$ cd mule-migration-assistant/
$ mvn clean package
$ cd runner/target
$ java -jar mule-migration-assistant-runner-*CURRENT VERSION*.jar [parameters]

Mule Migration Assistant accepted parameters

Parameter Description Required
projectBasePath Path of the application to be migrated Yes
destinationProjectBasePath Path where to generate the migrated application Yes
muleVersion Mule 4 version to define on the application Yes
parentDomainBasePath Path of the domain to be migrated No
help Show all the parameters to define on MMA No
cancelOnError Use cancelOnError = true the MMA stop migration if a exception occurs (default false) No
projectParentGAV Use projectParentGAV 'groupId:artifactId:version' to migrate your parent inside the pom.xml No
jsonReport (experimental) Generate migration report in JSON format No
noCompatibility (experimental) Do not use Mule compatibility module No

User Documentation

For guidance using MMA to assist in a migration, see the user documentation.

Contributing

This project is Open Source and therefore welcome contributions, in case you wish to contribute please check our contribution guide