Mule 3 Migration Estimator

The Mule 3 Migration Estimator is a tool built to provide an indication on the rough order of magnitude (ROM) for performing the migration of Mule 3.x applications to Mule 4.x. The tool can ONLY provide an estimate when the Mule Migration Assistant (MMA) is used to migrate these applications. The estimate is based on a JSON report provided by the MMA tool which includes a list of components which were automatically migrated, migrated with warnings or failed to be migrated. The findings of this JSON report determines the manual tasks required to resolve any migration issues and the ROM is based on the estimated effort required to address these tasks.

Please follow are the steps described to generate an estimate - 

  • Clone the Mule Migration Assistant source code and compile - (More Details)
    git clone git@github.com:mulesoft/mule-migration-assistant.git
    cd mule-migration-assistant/
    mvn clean package

    The MMA JAR (mule-migration-assistant-runner-*CURRENT VERSION*.jar) will be created under runner/target directory. This path will be need to be included as one of the parameters in the script below.
  • Clone the latest version of all the Mule 3 Projects from the Source Code Repository and store under a single directory
     
  • Download the script to run the MMA against all the Mule 3 Projects stored under the single directory. This will create a zip file containing all the JSON MMA reports for the Mule 3 Projects.
    • Bash Script
      Usage: ./runMMA.sh -m <MMA Path> -p <Mule 3 Projects Path> [-d <Mule 3 Domain Projects Path>] [-o <Mule 4 Output Projects Path>] [-v <Mule 4 version>]
      -m: (Required) Full path of the Mule Migration Assistant (MMA) compiled jar with version
      -p: (Required) Full path of the directory where all Mule 3 projects are located
      -d: (Optional) Full path of the Mule 3 Domain Project. This is an optional parameter but it MUST be passed if the Mule 3 projects uses a domain or else the MMA will fail to migrate the application
      -o: (Optional) Full path of the directory where all Mule 4 projects will be created by the MMA. If not provided, the script will create a temporary output folder and cleanup any Mule 4 Projects after the script completes processing
      -v: (Optional) Mule Runtime Semantic version eg: 4.4.0 to which the project will be migrated. Default is 4.4.0
    • Windows Script
      Usage: runMMA.bat -m "MMA Path" -p "Mule 3 Projects Path" [-d "Mule 3 Domain Projects Path"] [-o "Mule 4 Output Projects Path"] [-v "Mule 4 version"]
      -m: (Required) Full path of the Mule Migration Assistant (MMA) compiled jar with version
      -p: (Required) Full path of the directory where all Mule 3 projects are located
      -d: (Optional) Full path of the Mule 3 Domain Project. This is an optional parameter but it MUST be passed if the Mule 3 projects uses a domain or else the MMA will fail to migrate the application
      -o: (Optional) Full path of the directory where all Mule 4 projects will be created by the MMA. If not provided, the script will create a temporary output folder and cleanup any Mule 4 Projects after the script completes processing
      -v: (Optional) Mule Runtime Semantic version eg: 4.4.0 to which the project will be migrated. Default is 4.4.0

  • Upload the zip file and click on 'Generate Estimate" button to download an Excel spreadsheet containing the details of the estimate