IDE Plugin Guide
Identify and resolve migration issues by running Migration Toolkit for Applications against your applications in your IDE.
Abstract
Making open source more inclusive
Red Hat is committed to replacing problematic language in our code, documentation, and web properties. We are beginning with these four terms: master, slave, blacklist, and whitelist. Because of the enormity of this endeavor, these changes will be implemented gradually over several upcoming releases. For more details, see our CTO Chris Wright’s message.
Chapter 1. Introduction
1.1. About the IDE Plugin Guide
This guide is for engineers, consultants, and others who want to use the IDE plugin for the Migration Toolkit for Applications (MTA) to assist with migrating applications.
This guide uses Eclipse to refer to an installation of Eclipse or Red Hat CodeReady Studio.
1.2. About the Migration Toolkit for Applications
What is the Migration Toolkit for Applications?
The Migration Toolkit for Applications (MTA) is an extensible and customizable rule-based tool that simplifies the migration of Java applications.
The MTA examines application artifacts, including project source directories and application archives, then produces an HTML report that highlights areas needing changes. MTA can migrate Java applications from earlier versions of Red Hat JBoss Enterprise Application Platform or from other application servers, such as Oracle WebLogic Server or IBM WebSphere Application Server.
How does the Migration Toolkit for Applications simplify migration?
The Migration Toolkit for Applications looks for common resources and highlights technologies and known trouble spots when migrating applications. The goal is to provide a high-level view into the technologies used by the application and provide a detailed report organizations can use to estimate, document, and migrate enterprise applications to Java EE and Red Hat JBoss Enterprise Application Platform.
How do I learn more?
See the Introduction to the Migration Toolkit for Applications to learn more about the features, supported configurations, system requirements, and available tools in the Migration Toolkit for Applications.
1.3. About the IDE Plugin
The IDE plugin for the Migration Toolkit for Applications provides assistance directly in Eclipse and Red Hat CodeReady Studio for developers making changes for a migration or modernization effort. It analyzes your projects using MTA, marks migration issues in the source code, provides guidance to fix the issues, and offers automatic code replacement when possible.
There is an MTA extension for Visual Studio Code and Eclipse Che. The extension is only available as a Minimum Viable Product and will be fully documented and supported in a future Release of MTA. For more information about the extension, visit the Visual Studio Marketplace.
Chapter 2. Installing the IDE plugin in a connected environment
You can install the IDE plugin for Eclipse or Red Hat CodeReady Studio in a connected environment.
The IDE plugin has been tested with Eclipse 2020-09 and Red Hat CodeReady Studio 12.15.
Prerequisites
-
macOS: The value of
maxproc
must be2048
or greater. or
- Eclipse with JBoss Tools. To install JBoss Tools on Eclipse, navigate to Eclipse.org, click More → Documentation, and select Eclipse Marketplace User Guide.
Procedure
- Launch your IDE.
- From the menu bar, select Help → Install New Software.
- Next to the Work with field, click Add.
-
In the Name field, enter
MTA
. -
In the Location field, enter
http://download.jboss.org/jbosstools/photon/stable/updates/mta/
and click OK. - Select all the JBoss Tools - MTA check boxes and click Next.
- Review the installation details and click Next.
- Accept the terms of the license agreement and click Finish to install the plugin.
- Restart your IDE for the changes to take effect.
Chapter 3. Installing the IDE plugin in an offline environment
You can install the IDE plugin for Eclipse or Red Hat CodeReady Studio in an offline environment.
The IDE plugin has been tested with Eclipse 2020-09 and Red Hat CodeReady Studio 12.15.
Prerequisites
-
macOS: The value of
maxproc
must be2048
or greater. or
- Eclipse with JBoss Tools. To install JBoss Tools on Eclipse, navigate to Eclipse.org, click More → Documentation, and select Eclipse Marketplace User Guide.
Procedure
- Download the IDE Plugin archive file.
- Launch your IDE.
- From the menu bar, select Help → Install New Software.
- Next to the Work with field, click Add.
-
In the Name field, enter
MTA
. - Next to the Location field, click Archive.
- Select the IDE Plugin archive file and click OK.
- Select all the JBoss Tools - MTA check boxes and click Next.
- Review the installation details and click Next.
- Accept the terms of the license agreement and click Finish to install the plugin.
- Restart your IDE for the changes to take effect.
Chapter 4. Accessing the MTA IDE tools
Once the plugin is installed, the MTA IDE tools are available in the MTA perspective. To open the MTA perspective, navigate to Window → Perspective → Open Perspective → Other. Select MTA and click OK.
Review the plugin components and then get started identifying and resolving migration issues. You can also view the embedded help for the plugin by selecting Help → Getting Started in your IDE.
4.1. About IDE Plugin components
The following components are available in the MTA perspective when using the IDE plugin to analyze projects.
- Issue Explorer
This view allows you to explore the MTA issues for projects that have been analyzed.
If this view is not visible in the MTA Perspective, you can open it by selecting Window → Show View → Issue Explorer.
- MTA Server
The MTA server is a separate process that executes the MTA analysis, flags the migration issues, and generates the reports.
You can start, stop, and view the status of the MTA server from the Issue Explorer.
- Issue Details
This view shows detailed information about the selected MTA issue, including the hint, severity, and any additional resources.
If this view is not visible in the MTA Perspective, you can open it by selecting Window → Show View → Issue Details.
- MTA Report
This view shows the HTML reports that are generated when MTA is executed. From the report landing page you can navigate to detailed reports, such as Application Details, Issues, and Dependencies.
Note that the MTA run configuration used must have the Generate Report option selected in order for the MTA reports to be generated.
If this view is not visible in the MTA Perspective, you can open it by selecting Window → Show View → MTA Report.
Chapter 5. Troubleshooting migration issues
Follow these steps to use the IDE plugin to identify and resolve migration issues.
- Import the project to analyze into your IDE.
Create a run configuration. In the Issue Explorer, click the MTA icon ( ).
At a minimum, select the project to analyze. Set additional options as needed.
- Click Run to execute MTA.
- Review MTA issues listed in the Issue Explorer.
- Resolve MTA issues by manually updating code or by using quick fixes when available.
- Run MTA again as necessary. Use the drop down next to the Run button ( ) to run an existing configuration.
5.1. Creating an MTA run configuration
MTA run configurations can be created using the MTA button ( ). A run configuration specifies the project to analyze, migration path, and additional options for the execution. You can create multiple run configurations, and each must have a unique name.
Input
- Migration Path
- Select a migration path, which determines which MTA rulesets are used. The migration path defaults to Anything to EAP 7, but can be changed to any supported migration path.
- Projects
- Select one or more projects to analyze. Hold the Ctrl key to select multiple projects in the list.
- Packages
- Select one or more packages to scan. It is recommended to select only those packages that you need to analyze to reduce the overall MTA execution time. If no packages are selected, all packages in the project will be scanned. Hold the Ctrl key to select multiple packages in the list.
Options
- Report
- Check the Generate Report checkbox if you want to generate the MTA HTML report. The report will be shown in the MTA Report tab and can be found in the Issue Explorer when you group by File.
- Options
-
Set additional MTA options. Any option that is a boolean flag, such as
enableTattletale
, should usetrue
as the value. See the MTA Command-line Arguments section of the CLI Guide for a description of each MTA argument.
Rules
- Custom Rules Repositories
- Select custom rulesets to include during analysis if you have imported or created any custom MTA rules in the IDE plugin.
5.2. Running MTA
Once a run configuration has been created, you can run MTA using that configuration in one of the following ways:
- Select the run configuration from the Run Configurations dialog and click Run.
- Select a recent run configuration from the drop down next to the Run button ( ).
If the MTA server is not currently running, it will start once a run configuration is executed.
If you do not plan to run MTA in the near future, stop the MTA server to conserve memory on your machine.
Once execution is complete, the Issue Explorer will be populated with MTA issues.
5.3. Reviewing MTA issues
Use the Issue Explorer to review migration issues identified by MTA. Different icons indicate the issue’s severity and state.
Change how issues are grouped by adjusting the Group By selections: Severity, Migration Rule, and File.
Double-click the MTA issue in the Issue Explorer to open the associated line of code in an editor. Right-click and select Issue Details to view information about the MTA issue, including its severity and how to address it.
5.4. Resolving MTA issues
You can resolve MTA issues by updating the code manually or by applying a quick fix when available.
5.4.1. Resolving an issue manually
Review the MTA issue details and additional resources and update the source code as necessary. When you update a line of code marked as an MTA issue, the MTA issue will be marked with the stale icon ( ) until the next time that MTA is run on the project.
You can also manually mark an MTA issue as fixed, which will mark the issue with the resolved icon ( ) until the next time that MTA is run on the project. To mark an issue as fixed, right-click the MTA issue in the Issue Explorer and select Mark as Fixed.
5.4.2. Resolving an issue using a quick fix
Some MTA issues provide a quick fix, which assists in making the necessary edits to address the issue. See the icon legend to see the icons that indicate the MTA issue has a quick fix available.
- Previewing a quick fix
- Right-click the issue and select Preview Quick Fix. This will bring up a window that allows you to preview the change. From here, you can apply the fix or close the window.
- Applying a quick fix
- Right-click the issue and select Apply Quick Fix. This will update the source code as required and will mark the MTA issue as resolved.
Chapter 6. Adding custom rules
By default, the IDE plugin comes with a core set of system rules for identifying migration and modernization issues. You can browse the existing rules from the IDE plugin.
You can create your own rules for identifying issues specific to your applications. You can either import an existing custom ruleset or create a custom ruleset directly in the IDE plugin.
6.1. Browsing rules
You can view both system and custom rules from the IDE plugin.
- From the MTA perspective, open the Rulesets tab.
Expand the System item to view core system rules, or expand the Custom item to view custom rules.
NoteIn order to view system rules, the MTA server must be started.
- Expand the ruleset containing the rule you want to review.
- Double-click the rule to open the rule in a viewer. You can select the Source tab to view the XML source of the rule.
6.2. Importing a custom ruleset
You can import an existing custom ruleset into the IDE plugin to use during analysis of your projects.
- From the MTA perspective, open the Rulesets tab.
- Click the import ruleset icon ( ).
Browse to and select the XML rule file to import.
NoteThe XML rule file must use the
.windup.xml
or.mta.xml
extension in order to be recognized as an MTA rule.- The custom ruleset is now shown under the Custom item in the Rulesets tab.
This custom ruleset can now be selected in run configurations when analyzing projects.
See the Rules Development Guide to learn more about creating custom XML rules.
6.3. Creating a custom ruleset
You can create a new custom ruleset in the IDE plugin to use during analysis of your projects.
Procedure
- From the MTA perspective, open the Rulesets tab.
- Click the create ruleset icon ( ).
- Select the project and directory to save the new ruleset in.
Enter the file name for the ruleset file.
NoteThe XML rule file must use the
.windup.xml
or.mta.xml
extension in order to be recognized as an MTA rule.-
Enter a ruleset ID, for example,
my-ruleset-id
. - Optionally, check the Generate quickstart template checkbox to add basic rule templates to the ruleset file.
- Select Finish.
- The new ruleset file opens in an editor and you can add and edit rules in the file. You can also select the Source tab to edit the XML source for the ruleset file.
This new ruleset can now be selected in run configurations when analyzing projects.
See the Rules Development Guide to learn more about creating custom XML rules.
6.4. Submitting a custom ruleset
You can submit your custom ruleset for inclusion in the official MTA rule repository. This allows your custom rules to be reviewed and included in subsequent releases of MTA, enhancing the applications and server configurations that MTA analyzes.
Procedure
- From the MTA perspective, click the Rulesets tab.
- Click the dropdown icon ( ) and select Submit Ruleset.
Complete the following fields:
- Summary: Describe the purpose of the rule. This becomes the title of the submission.
- Code Sample: Enter an example of source code that the rule should run against.
- Click Choose Files and navigate to the saved rule to attach it.
- Description: Enter a brief description of the rule.
- Click Submit.
Appendix A. Reference material
A.1. About MTA issue icons
In the Issue Explorer and file editors, MTA issues use an icon to indicate their severity level and status. The following table describes the meaning of the various icons.
Table A.1. MTA issue icons
Icon | Description |
---|---|
The issue is mandatory to fix for a successful migration. | |
The issue is optional to fix for migration. | |
The issue may potentially be an issue during migration. | |
The issue has been resolved. | |
The issue is stale because the code marked as an issue has been modified since the last time that MTA was run on the project. | |
A quick fix is available for this issue, which is mandatory to fix for a successful migration. | |
A quick fix is available for this issue, which is optional to fix for migration. | |
A quick fix is available for this issue, which may potentially be an issue during migration. |
Revised on 2021-01-25 11:55:47 UTC