Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions docs/intellij-idea-plugin-guide/master.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
:IDEName: IntelliJ IDEA
:mta:
include::topics/templates/document-attributes.adoc[]
:_content-type: ASSEMBLY
:_mod-docs-content-type: ASSEMBLY
[id="intellij-idea-plugin-guide"]
= IntelliJ IDEA Plugin Guide

Expand All @@ -20,28 +20,28 @@ include::topics/making-open-source-more-inclusive.adoc[]
== Introduction

// About the IntelliJ IDEA plugin
include::topics/about-ide-addons.adoc[leveloffset=+2]
include::topics/mta-intellij-plugin/about-ide-addons-intellij.adoc[leveloffset=+2]

// About {ProductName}
include::topics/mta-what-is-the-toolkit.adoc[leveloffset=+2]
include::topics/mta-intellij-plugin/what-is-the-toolkit.adoc[leveloffset=+2]

// Install the plugin
include::topics/installing-intellij-idea-plugin.adoc[leveloffset=+1]
include::topics/mta-intellij-plugin/installing-intellij-idea-plugin.adoc[leveloffset=+1]

[id="analyzing-projects-with-idea-plugin"]
== Analyzing your projects with the {ProductShortName} plugin

You can analyze your projects with the {ProductShortName} plugin by creating a run configuration and running an analysis.

include::topics/intellij-idea-plugin-run-configuration.adoc[leveloffset=+2]
include::topics/mta-intellij-plugin/intellij-idea-plugin-run-configuration.adoc[leveloffset=+2]

[id="reviewing-and-resolving-migration-issues"]
== Reviewing and resolving migration issues

You can review and resolve migration issues identified by the {ProductShortName} plugin in the left pane.

include::topics/intellij-idea-plugin-reviewing-issues.adoc[leveloffset=+2]
include::topics/mta-intellij-plugin/intellij-idea-plugin-reviewing-issues.adoc[leveloffset=+2]

include::topics/intellij-idea-plugin-resolving-issues.adoc[leveloffset=+2]
include::topics/mta-intellij-plugin/intellij-idea-plugin-resolving-issues.adoc[leveloffset=+2]

:!idea-plugin:
22 changes: 22 additions & 0 deletions docs/topics/mta-intellij-plugin/about-ide-addons-intellij.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
// Module included in the following assemblies:
//
// * docs/vs-code-extension-guide/master.adoc
// * docs/intellij-idea-plugin-guide/master.adoc
// * docs/eclipse-code-ready-guide/master.adoc

:_mod-docs-content-type: CONCEPT
[id="about-ide-addons_{context}"]
= About the {ProductShortName} {AddonType} for {IDEName}

[role="_abstract"]
You can migrate and modernize applications by using the {ProductName} ({ProductShortName}) {AddonType} for {IDEName}.

The {ProductShortName} {AddonType} analyzes your projects using customizable rulesets, marks issues in the source code, provides guidance to fix the issues, and offers automatic code replacement, if possible.

ifdef::vsc-extension-guide[]
The {ProductShortName} extension is also compatible with Visual Studio Codespaces, the Microsoft cloud-hosted development environment.
endif::[]

ifdef::idea-plugin-guide[]
The {AddonType} supports both the Community Edition and the Ultimate version of {IDEName}.
endif::[]
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// Module included in the following assemblies:
//
// * docs/intellij-idea-plugin-guide/master.adoc

:_mod-docs-content-type: PROCEDURE
[id="intellij-idea-plugin-extension_{context}"]
= Installing the {ProductShortName} plugin for IntelliJ IDEA

[role="_abstract"]
You can install the {ProductShortName} plugin in the Ultimate and the Community Edition releases of IntelliJ IDEA.

.Prerequisites
include::snippet_jdk-hardware-mac-prerequisites.adoc[]

* The latest version of `{LC_PSN}-cli` from the link:{DevDownloadPageURL}[{ProductShortName} download page]

.Procedure

. In IntelliJ IDEA, click the *Plugins* tab on the Welcome screen.
. Enter `{ProductName}` in the Search field on the *Marketplace* tab.
. Select the *{ProductName} ({ProductShortName}) by Red Hat* plugin and click *Install*.
+
The plugin is listed on the *Installed* tab.
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
// Module included in the following assemblies:
//
// * docs/intellij-idea-plugin-guide/master.adoc

:_mod-docs-content-type: PROCEDURE

[id="intellij-idea-plugin-resolving-issues_{context}"]
= Resolving issues

[role="_abstract"]
You can resolve issues by doing one of the following:

* Using a _Quick Fix_ to fix a code snippet that has a hint
* Editing the code of a file that appears in a classification

== Using a Quick Fix

You can use a Quick Fix automatic code replacement to save time and ensure consistency in resolving repetitive issues. Quick Fixes are available for many issues displayed in the *Hints* section of the *Results* directory.

.Procedure

. In the left pane, click a hint that has an error indicator.
+
Any Quick Fixes are displayed as child folders with the Quick Fix icon (image:intellij-idea-info.png[Quickfix]) on their left side.
. Right-click a Quick Fix and select *Preview Quick Fix*.
+
The current code and the suggested change are displayed in the *Preview Quick Fix* window.
. To accept the suggested fix, click *Apply Quick Fix*.
. Optional: Right-click the issue and select *Mark As Complete*.
+
A green check (image:intellij-idea-ok.png[Complete]) is displayed by the hint, replacing the error indicator.

== Editing the code of a file

You can directly edit a file displayed in the *Classifications* section of the *Results* directory. These files do not have any Quick Fixes.

.Procedure

. In the left pane, click the file you want to edit.
. Make any changes needed to the code and save the file.
. Optional: Right-click the issue and select *Mark as Complete* or *Delete*.
+
If you select *Mark as Complete*, a green check (image:intellij-idea-ok.png[Complete]) is displayed by the hint, replacing the error indicator.
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
// Module included in the following assemblies:
//
// * docs/intellij-idea-plugin-guide/master.adoc

:_mod-docs-content-type: PROCEDURE
[id="intellij-idea-plugin-reviewing-issues_{context}"]
= Reviewing issues

[role="_abstract"]
You can use the {ProductShortName} plugin icons to prioritize issues based on their severity. You can see which issues have a _Quick Fix_ automatic code replacement and which do not.

The results of an analysis are displayed in a directory format, showing the _hints_ and _classifications_ for each application analyzed.

A _hint_ is a read-only snippet of code that contains a single issue that you should or must address before you can modernize or migrate an application. Often a Quick Fix is suggested, which you can accept or ignore.

A _classification_ is a file that has an issue but does not have any suggested Quick Fixes. You can edit a classification.

.Procedure

. In the {ProductName} view, select a run configuration directory in the left pane.
+
. Click *Results*.
+
The modules and applications of the run configuration are displayed, with hints and classifications beneath each application.

. Prioritize issues based on the following icons, which are displayed next to each hint:

** image:intellij-idea-mandatory.png[Mandatory] : You must fix this issue in order to migrate or modernize the application.
** image:intellij-idea-potential.png[Warning] : You might need to fix this issue in order to migrate or modernize the application

. Optional: To learn more about a hint, right-click it and select *Show More Details*.
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
// Module included in the following assemblies:
//
// * docs/intellij-idea-plugin-guide/master.adoc

:_mod-docs-content-type: PROCEDURE
[id="intellij-idea-plugin-run-configuration_{context}"]
= Creating a run configuration

[role="_abstract"]
You can create multiple run configurations to run against each project you import to IntelliJ IDEA.

.Procedure

. In the *Projects* view, click the project you want to analyze.
. On the left side of the screen, click the *{ProductName}* tab.
+
If this is your first configuration, the run configuration panel is displayed on the right.

. If this is not your first configuration, right-click configuration in the list and select *New configuration*.
+
The run configuration panel is displayed on the right.

. Complete the following configuration fields:

** *cli*: Enter the path to the cli executable. For example: `$HOME/{LC_PSN}-cli-{ProductDistributionVersion}/bin/{mta-cli}`.
** *Input*: Click *Add* and enter the input file or directory.
** *Target*: Select one or more target migration paths.
+
[NOTE]
====
The location shown in the *Output* is set by the plugin.
====

. In the list of configurations, right-click the new configuration and select *Run Analysis*.
+
The *Console ({ProductShortName})* terminal emulator opens, displaying information about the progress of the analysis.
+
When the analysis is completed, you can click either *Report* or *Results* below the name of the configuration file you ran.

** *Reports* opens the {ProductShortName} report, which describes any issues you need to address before you migrate or modernize your application. For more information, see link:{ProductDocUserGuideURL}#review-reports_cli-guide[Reviewing the reports] in the _{UserCLIBookName}_.

** *Results* opens a directory displaying hints (issues) per application.
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
:_mod-docs-content-type: SNIPPET

The following are the prerequisites for the {ProductFullName} installation:

* Java Development Kit (JDK) is installed. {ProductShortName} supports the following JDKs:

** Oracle JDK 17 or later
** Eclipse Temurin™ JDK 17 or later
** OpenJDK 17 or later

* 8 GB of RAM is required for {ProductShortName}.

* macOS installation: the value of `maxproc` must be `2048` or greater.
48 changes: 48 additions & 0 deletions docs/topics/mta-intellij-plugin/what-is-the-toolkit.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
// Module included in the following assemblies:
//
// * docs/getting-started-guide-mtr/master.adoc
// * docs/cli-guide-mtr/master.adoc
// * docs/intellij-idea-plugin-guide-mtr/master.adoc
// * docs/maven-guide-mtr/master.adoc
// * docs/eclipse-code-ready-studio-guide-mtr/master.adoc
// * docs/web-console-guide-mtr/master.adoc
// * docs/plugin-guide-mtr/master.adoc
:_mod-docs-content-type: CONCEPT

[[about_mta]]
[id="what-is-the-toolkit_{context}"]
= About the {ProductName}

[role="_abstract"]
The {ProductName} ({ProductShortName}) is an extensible and customizable rule-based tool that simplifies the migration and modernization of Java applications.

== What is the {ProductName}?

The {ProductName} ({ProductShortName}) is an extensible and customizable rule-based tool that simplifies the migration and modernization of Java applications.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wouldn't duplicate the abstract.


{ProductShortName} examines application artifacts, including project source directories and application archives, and then produces an HTML report highlighting areas needing changes. {ProductShortName} supports many migration paths, including the following examples:

* Upgrading to the latest release of Red Hat JBoss Enterprise Application Platform
* Migrating from Oracle WebLogic or IBM WebSphere Application Server to Red Hat JBoss Enterprise Application Platform
* Containerizing applications and making them cloud-ready
* Migrating from Java Spring Boot to Quarkus
* Updating from Oracle JDK to OpenJDK
* Upgrading from OpenJDK 8 to OpenJDK 11
* Upgrading from OpenJDK 11 to OpenJDK 17
* Upgrading from OpenJDK 17 to OpenJDK 21
* Migrating EAP Java applications to Azure
* Migrating Spring Boot Java applications to Azure

For more information about use cases and migration paths, see the link:https://developers.redhat.com/products/{LC_PSN}/use-cases[{ProductShortName} for developers] web page.

== How does the {ProductName} simplify migration?

The {ProductName} looks for common resources and known trouble spots when migrating applications. It provides a high-level view of the technologies used by the application.

{ProductShortName} generates a detailed report evaluating a migration or modernization path. This report can help you to estimate the effort required for large-scale projects and to reduce the work involved.

ifndef::getting-started-guide[]
== How do I learn more?

See the link:{ProductDocIntroToMTAGuideURL}[Introduction to the {DocInfoProductName}] to learn more about the features, supported configurations, system requirements, and available tools in the {ProductName}.
endif::getting-started-guide[]