Chapter 2. Getting Started

2.1. Install Windup

  1. Download the latest Windup ZIP distribution.
  2. Extract the ZIP file to a directory of your choice.

The extracted directory is known as WINDUP_HOME in this guide.

2.2. Run Windup

Use the following steps to run Windup against your application.

  1. Open a terminal and navigate to the WINDUP_HOME/bin/ directory.
  2. Execute the windup script, or windup.bat for Windows, and specify the appropriate arguments.

    $ ./windup --input /path/to/jee-example-app-1.0.0.ear --output /path/to/output --source weblogic --target eap:6 --packages com.acme org.apache
    • --input: The application to be evaluated. See the --input argument description.
    • --output: The output directory for the generated reports. See the --output argument description.
    • --source: The source technology for the application migration. See the --source argument description.
    • --target: The target technology for the application migration. See the --target argument description.
    • --packages: The packages to be evaluated. This argument is highly recommended to improve performance. See the --packages argument description.

    See Windup Command-line Arguments for a detailed description of all available command-line arguments.

  3. Access the report.

See Windup Command Examples below for concrete examples of commands that use source code directories and archives located in the Windup GitHub repository.

Windup Command Examples

Running Windup on Source Code

The following command runs against the Windup seam-booking-5.2 test application source code. It evaluates all org.jboss.seam packages and creates a directory named 'seam-booking-report' in the /home/username/windup-reports/ directory to contain the reporting output.

$ WINDUP_HOME/bin/windup --sourceMode --input /home/username/windup-source/test-files/seam-booking-5.2/ --output /home/username/windup-reports/seam-booking-report --target eap:6 --packages org.jboss.seam
Running Windup on an Application Archive

The following command runs against the Windup jee-example-app-1.0.0.ear test EAR archive. It evaluates all com.acme and org.apache packages and creates a directory named 'jee-example-app-1.0.0.ear-report' in the /home/username/windup-reports/ directory to contain the reporting output.

$ WINDUP_HOME/bin/windup  --input /home/username/windup-source/test-files/jee-example-app-1.0.0.ear --output /home/username/windup-reports/jee-example-app-1.0.0.ear-report --target eap:6 --packages com.acme org.apache
Override Windup Properties

To override the default Fernflower decompiler, pass the -Dwindup.decompiler argument on the command line. For example, to use the Procyon decompiler, use the following syntax:

$ WINDUP_HOME/bin/windup -Dwindup.decompiler=procyon --input INPUT_ARCHIVE_OR_DIRECTORY --output OUTPUT_REPORT_DIRECTORY --target TARGET_TECHNOLOGY --packages PACKAGE_1 PACKAGE_2

Windup Help

To see the complete list of available arguments for the windup command, open a terminal, navigate to the WINDUP_HOME directory, and execute the following command:

$ WINDUP_HOME/bin/windup --help

2.3. Access the Report

When you execute Windup, the report is generated in the OUTPUT_REPORT_DIRECTORY that you specify using the --output argument in the command line. Upon completion of execution, you will see the following message in the terminal with the location of the report.

Windup report created: OUTPUT_REPORT_DIRECTORY/index.html
              Access it at this URL: file:///OUTPUT_REPORT_DIRECTORY/index.html

The output directory contains the following files and subdirectories:

OUTPUT_REPORT_DIRECTORY/
├── index.html          // Landing page for the report
├── EXPORT_FILE.csv     // Optional export of data in CSV format
├── archives/           // Archives extracted from the application
├── mavenized/          // Optional Maven project structure
├── reports/            // Generated HTML reports
├── stats/              // Performance statistics

Use a browser to open the index.html file located in the report output directory. See Review the Reports for information on navigating the Windup reports.