Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Demo Testing #1

Open
wants to merge 194 commits into
base: issue50_slack
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
194 commits
Select commit Hold shift + click to select a range
3a2b517
Proof-of-concept for unifying the design for MicroProfile and Jakarta…
mrglavas Jul 27, 2023
d9364f3
Merge pull request #500 from mrglavas/jakarta-code-action-handler-poc
mrglavas Sep 20, 2023
686172b
[feature/#23]: Refactor the implementation for FilterImplementationQu…
dessina-devasia Oct 4, 2023
8476a93
Refatoring FilterImplementationQuickFix and ListenerImplmentationQuic…
dessina-devasia Oct 12, 2023
f471331
Refatoring FilterImplementationQuickFix and ListenerImplmentationQuic…
dessina-devasia Oct 12, 2023
7199efd
Enable GHA build for code-action-unification-2.
mrglavas Nov 13, 2023
b25bedc
[OpenLiberty#543] Refactored Quick fixes related to ModifyModifiersPr…
vaisakhkannan Nov 14, 2023
199a332
Merge pull request #576 from mrglavas/code-action-clean-tests
mrglavas Nov 14, 2023
265b615
Added the test enabling and other clean up activities
vaisakhkannan Nov 15, 2023
b1e472f
Did some clean up and modified tests
vaisakhkannan Nov 27, 2023
ccbc643
Changed to equals() when comparing Strings
vaisakhkannan Dec 5, 2023
8e071d2
updated the create codeaction method in JDTutils
aparnamichael Dec 5, 2023
8bac51b
Addresed the review comment
aparnamichael Dec 5, 2023
a82170a
removed the duplicate code
aparnamichael Dec 5, 2023
563529b
Merge pull request #594 from aparnamichael/issue-582_CreateCodeAction…
aparnamichael Dec 6, 2023
b2baf1b
Updated the value of the message passing
vaisakhkannan Dec 6, 2023
96bb82f
Merge branch 'code-action-unification-2' into #543-ModifyModifiersPro…
vaisakhkannan Dec 6, 2023
7aa697a
Added custom data in the CodeActionResolveData and modified the message
vaisakhkannan Dec 6, 2023
332375d
Modified message
vaisakhkannan Dec 6, 2023
c077ba7
Removed 'get' from the method name
vaisakhkannan Jan 1, 2024
14931d0
Fixes #589
anusreelakshmi934 Jan 8, 2024
92f7047
Modified ResourceClassConstructorTest
vaisakhkannan Jan 19, 2024
77ed330
Fixes #589 - Formatted all TextEdit
anusreelakshmi934 Jan 19, 2024
ca59e35
Merge pull request #579 from vaisakhkannan/#543-ModifyModifiersPropos…
vaisakhkannan Jan 23, 2024
56712ce
[#534]: Refactored and bring the test cases ready for ResourceMethodM…
dessina-devasia Oct 25, 2023
4f02bce
[#534]: Refactoring and Test cases modification on RemoveMethodParame…
dessina-devasia Oct 18, 2023
1ab9b2c
[534]: Optimized quickfixes by using createCodeAction method from JDT…
dessina-devasia Nov 13, 2023
1f18099
[#534]: Modifications done after PR review
dessina-devasia Nov 15, 2023
08034d4
[#534] Modifications as per PR review
dessina-devasia Dec 8, 2023
d22ea05
[#534]: Updated test case to resolve failure in PostConstructAnnotata…
dessina-devasia Dec 20, 2023
4ea0b15
Merge pull request #575 from dessina-devasia/534-RemoveParamsProposal…
dessina-devasia Jan 26, 2024
9bfe8c0
Specify the correct tag for lsp4ij
turkeylurkey Jan 30, 2024
657f3a0
Merge pull request #633 from turkeylurkey/specifyLsp4ij2
turkeylurkey Jan 30, 2024
865c5cb
Added else statement
anusreelakshmi934 Feb 1, 2024
d716e69
[Openliberty#615] - Changed the menu option name to "Liberty: View po…
vaisakhkannan Feb 2, 2024
959c7c2
Merge pull request #610 from anusreelakshmi934/issue#589
anusreelakshmi934 Feb 2, 2024
ee1cd48
Fixes #577 - Refactoring classes
anusreelakshmi934 Jan 20, 2024
8b1cf18
Fixes #577
anusreelakshmi934 Dec 13, 2023
08cdedf
Fixes #577
anusreelakshmi934 Jan 20, 2024
d3df197
Modified test cases.Fixes #577
anusreelakshmi934 Jan 22, 2024
94838a3
Fixes #577
anusreelakshmi934 Jan 24, 2024
94737de
Copyrights Update
anusreelakshmi934 Feb 2, 2024
a571406
Added code to shift focus to the terminal
vaisakhkannan Sep 6, 2023
053f6f6
[OpenLiberty#198] Fixed terminal focus for all cases
vaisakhkannan Feb 1, 2024
1786703
Resolved Null pointer exception on 'toolWindow'
vaisakhkannan Feb 2, 2024
13a1a5e
Addressed review comments
vaisakhkannan Feb 2, 2024
f7fc598
Addressed review comments
vaisakhkannan Feb 2, 2024
45cb91f
Updated the action and variable name from "ViewEffectivePom" to "View…
vaisakhkannan Feb 5, 2024
598e3fb
Updated the year in the header
vaisakhkannan Feb 5, 2024
0bdc126
Retrieved title from code action
anusreelakshmi934 Feb 6, 2024
92e5ab4
Fixes - #577
anusreelakshmi934 Feb 7, 2024
402a533
Formatted test file
anusreelakshmi934 Feb 9, 2024
1bc4e5a
Tests
anusreelakshmi934 Feb 12, 2024
d956a03
Fixes #631 - Modified build path
anusreelakshmi934 Feb 21, 2024
367b92e
Merge pull request #639 from anusreelakshmi934/577-InsertAnnotationMi…
anusreelakshmi934 Feb 22, 2024
bbc8ea4
[OpenLiberty#593] Added some refactoring
vaisakhkannan Dec 5, 2023
22bac0e
Added some javaCodeActionParticipants
vaisakhkannan Dec 7, 2023
b001262
Committing the changes
vaisakhkannan Jan 5, 2024
1f6b93a
Refactored Quickfix classes
vaisakhkannan Jan 12, 2024
123a935
[#593] Enabled quick fixes and implemented corresponding tests
vaisakhkannan Jan 16, 2024
c6419bf
Fixed the unit test failures caused by conflicts
vaisakhkannan Feb 1, 2024
2ce9a7b
Deleted a duplicated codeAction from the list
vaisakhkannan Feb 5, 2024
7804ada
Addressed review comments
vaisakhkannan Feb 7, 2024
2150e9a
Updated the spacing issue
vaisakhkannan Feb 7, 2024
5da71aa
Updated ManagedBeanTest.java for spacing issue
vaisakhkannan Feb 7, 2024
3cb9c94
Addressed review comments
vaisakhkannan Feb 22, 2024
2ec5b98
Update LibertyRunManagerListener.java
anusreelakshmi934 Feb 26, 2024
51cabdc
Removed an unwanted comment
vaisakhkannan Feb 28, 2024
f65fd54
Addressed review comments
vaisakhkannan Mar 6, 2024
ef2d7d0
Merge pull request #613 from vaisakhkannan/#593-Enable-RemoveAnnotati…
vaisakhkannan Mar 6, 2024
737cad9
Used fully qualified name instead of simple name.
aparnamichael Mar 7, 2024
f040ce2
Enabled ScopeDeclarationQuickFix and JsonbTransientAnnotationQuickFix…
aparnamichael Mar 7, 2024
6f50f08
Updated the header
aparnamichael Mar 7, 2024
048a723
Test for runConfigurationRemoved method
anusreelakshmi934 Mar 18, 2024
3a10b73
Merge branch 'OpenLiberty:main' into bugfix#631
anusreelakshmi934 Mar 18, 2024
54a6e4e
action button xpath
anusreelakshmi934 Mar 19, 2024
6a49d06
changes
anusreelakshmi934 Mar 21, 2024
fc2c82c
changes
anusreelakshmi934 Mar 21, 2024
b3acc33
Merge branch 'bugfix#631' of https://github.com/anusreelakshmi934/lib…
anusreelakshmi934 Mar 21, 2024
103acff
Update SingleModMPProjectTestCommon.java
anusreelakshmi934 Mar 26, 2024
25d6b20
changed createLibertyConfiguration
anusreelakshmi934 Mar 26, 2024
201203c
Update UIBotTestUtils.java
anusreelakshmi934 Mar 26, 2024
b35bc2e
Update SingleModMPProjectTestCommon.java
anusreelakshmi934 Mar 26, 2024
865ea48
Update SingleModMPProjectTestCommon.java
anusreelakshmi934 Mar 26, 2024
1df7c78
clearStartParams
anusreelakshmi934 Mar 26, 2024
84a00ca
Update SingleModMPProjectTestCommon.java
anusreelakshmi934 Mar 27, 2024
d835877
Just demo commit
vaisakhkannan Apr 1, 2024
ddbb644
Merge remote-tracking branch 'upstream/main' into #674-Fix-Slow-Opera…
vaisakhkannan Apr 1, 2024
0a742af
Fixed Slow Operation Exception
vaisakhkannan Apr 1, 2024
0c29361
Added fully qualified name for produce annotation
aparnamichael Apr 1, 2024
af2211e
Addressed the review comment
aparnamichael Apr 1, 2024
4df1cf7
Added back some lines of code and removed the comment
vaisakhkannan Apr 2, 2024
29d7bdb
Test using DebugPort Param
anusreelakshmi934 Apr 2, 2024
c89600a
Initial merge
turkeylurkey Apr 2, 2024
8afe3cd
Update Copyrights and Removed unused imports
anusreelakshmi934 Apr 3, 2024
a40d74c
Merge the xml
turkeylurkey Apr 3, 2024
f21e3c8
Fix package name
turkeylurkey Apr 3, 2024
49829b7
Update message in Gradle Run/Debug configuration editor
anusreelakshmi934 Apr 4, 2024
9ffc6ea
Fix lsp4ij.xml errors
turkeylurkey Apr 4, 2024
332fa7f
Add language server factory classes
turkeylurkey Apr 4, 2024
c6b354a
Update LibertyBundles.properties
anusreelakshmi934 Apr 5, 2024
e02f587
Moved action of reading the debug port from server.env into a common …
anusreelakshmi934 Apr 5, 2024
5142692
Merge pull request #680 from aparnamichael/issue611_FullyQualifiedNam…
aparnamichael Apr 5, 2024
8cdb1ee
Update
anusreelakshmi934 Apr 8, 2024
663176e
Changed ServerEnvPath method name
anusreelakshmi934 Apr 9, 2024
6531112
Enable automated builds with Microshed LSP4iJ 0.0.5.
mrglavas Apr 9, 2024
897e798
Merge pull request #716 from mrglavas/useLSP4IJ-005
mrglavas Apr 9, 2024
c9512c7
Update MavenSingleModMPProjectTest.java
anusreelakshmi934 Apr 16, 2024
197719c
Delay in openFile method
anusreelakshmi934 Apr 16, 2024
f2bb04c
moved cleanupAndStopServerIfNeeded to UIBotTestUtils
anusreelakshmi934 Apr 17, 2024
e799d89
Merge pull request #516 from dessina-devasia/feature/#23
aparnamichael Apr 17, 2024
9c129db
Merge branch 'code-action-unification-2' into issue511_-ImplementInte…
aparnamichael Apr 17, 2024
d57b623
Resolved the conflicts after merging from code unification 2 branch
aparnamichael Apr 17, 2024
0395e18
Updated comment in openFile method
anusreelakshmi934 Apr 18, 2024
4bda49b
Enabled pending quickfixes
vaisakhkannan Apr 18, 2024
527ce26
Removed the duplicates of createCodeAction methods and updated Plugin…
aparnamichael Apr 18, 2024
e66048d
Fixed issue with the resolve code action and modified the tests
aparnamichael Apr 22, 2024
c05d101
Reverted changes in JakartaCodeActionHandler and modified the header
aparnamichael Apr 23, 2024
1cd3805
Upgrade to IntelliJ 2024.1 and add a required dependency.
mrglavas Apr 23, 2024
c733b6a
Removing unwanted entry in plugin.xml
aparnamichael Apr 24, 2024
00ce7e7
Added Solution as comments
vaisakhkannan Apr 24, 2024
f12b7c3
Greyed out the helper text
anusreelakshmi934 Apr 25, 2024
fdc4697
Add hover support
turkeylurkey Apr 26, 2024
26e6a7e
Removed ConflictInjectMultipleConstructorQuickFix class
vaisakhkannan Apr 29, 2024
972a5b9
Updated the name to the rest of the code
vaisakhkannan Apr 30, 2024
91fd331
Seperated the Start parameter text box
anusreelakshmi934 Apr 30, 2024
c58cab8
Modified Tests
anusreelakshmi934 May 2, 2024
930a53b
Override AnAction.getActionUpdateThread() as required.
mrglavas May 2, 2024
80e1ead
Adding a @NotNull annotation to resolve a warning.
mrglavas May 2, 2024
110d397
Changed to EditorTextField
anusreelakshmi934 May 3, 2024
57e4036
Merge pull request #734 from mrglavas/schedule-liberty-actions
mrglavas May 3, 2024
c01168c
Merge pull request #708 from anusreelakshmi934/issue##686
anusreelakshmi934 May 6, 2024
b3d44d9
UI test select Open button and restore microprofile-config.properties
turkeylurkey May 6, 2024
f306eb1
Updated comment
vaisakhkannan May 7, 2024
f50d7a8
Merge pull request #705 from vaisakhkannan/#674-Fix-Slow-Operation-Ex…
vaisakhkannan May 7, 2024
f17fae2
Addressed Review Comment
vaisakhkannan May 7, 2024
4301f68
Merge pull request #725 from vaisakhkannan/#593-Completion-Fix
vaisakhkannan May 7, 2024
3d98ede
Move cursor during test to avoid corruption of test case
turkeylurkey May 7, 2024
ccd7a33
Rename misspelled class
turkeylurkey May 8, 2024
78bfcb4
Upgrade to IntelliJ 2024.1.1. Update Jakarta unit tests to compile an…
mrglavas May 8, 2024
3fed83e
Backing out a few changes that were introduced in the previous commit.
mrglavas May 8, 2024
8dd2a25
Add GraphQL support for diagnostics for MicroProfile
turkeylurkey May 8, 2024
8ce59d2
Remove flexmark and use 2024.1.1
turkeylurkey May 8, 2024
8f7b32a
Addressed Review Comments
vaisakhkannan May 9, 2024
71b9f4d
Merge pull request #728 from mrglavas/useLSP4IJ-005
mrglavas May 9, 2024
b027ad6
Merge branch 'useLSP4IJ-005' into test-framework-241
turkeylurkey May 9, 2024
18fcb32
Merge pull request #741 from turkeylurkey/test-framework-241
turkeylurkey May 9, 2024
4bdce9d
Merge pull request #742 from turkeylurkey/issue-699
turkeylurkey May 9, 2024
810715b
Refactor the UI test method pasteOnActiveWindow
turkeylurkey May 9, 2024
64f0f75
Merge main branch and call it 24.0.6-SNAPSHOT
turkeylurkey May 9, 2024
46afb07
Merge pull request #638 from vaisakhkannan/#615--Liberty-view-effecti…
vaisakhkannan May 10, 2024
50df707
Merge pull request #744 from turkeylurkey/refactorUItest
turkeylurkey May 10, 2024
8737311
Remove unused variables
turkeylurkey May 10, 2024
946ced0
Merge pull request #745 from OpenLiberty/useLSP4IJ-005
turkeylurkey May 11, 2024
8155133
Merge pull request #637 from vaisakhkannan/#198-Fix-Terminal-Focus
vaisakhkannan May 13, 2024
596c531
Merge pull request #726 from aparnamichael/issue511_-ImplementInterfa…
aparnamichael May 14, 2024
ca35a9f
Jakarta EE quick fixes: Adding a catch and rethrow for exceptions tha…
mrglavas May 14, 2024
2d2586d
Addressed PR comments
anusreelakshmi934 May 15, 2024
e39af78
testing by adding sleep
anusreelakshmi934 May 15, 2024
59005c5
Merge pull request #750 from mrglavas/code-action-unification-2
mrglavas May 15, 2024
1d0e121
Merge main
turkeylurkey May 15, 2024
5a8eb83
Removed opening server.env file
anusreelakshmi934 May 16, 2024
7eb907b
Merge pull request #755 from turkeylurkey/code-action-unification-2
turkeylurkey May 16, 2024
3638111
Changes addressed
anusreelakshmi934 May 17, 2024
c67b01b
Merge pull request #661 from anusreelakshmi934/bugfix#631
anusreelakshmi934 May 20, 2024
eb4d691
Reorganize Jakarta EE code action participants by functional area.
mrglavas May 21, 2024
2a22c36
Merge branch 'code-action-unification-2' of https://github.com/mrglav…
mrglavas May 21, 2024
ef3cab6
Merge pull request #762 from mrglavas/code-action-unification-2
mrglavas May 22, 2024
de2410d
When searching the action menu wait one second
turkeylurkey May 22, 2024
b8b4508
Include ManagedBeanConstructorQuickFix and update unit tests.
mrglavas May 22, 2024
386b865
Ignore Jakarta quick fix test
turkeylurkey May 23, 2024
ce051e0
Merge pull request #770 from mrglavas/code-action-unification-2
mrglavas May 23, 2024
84d0e0a
Include RemoveFinalModifierQuickFix for resolving @Entity diagnostics…
mrglavas May 23, 2024
c7ab687
Merge pull request #771 from turkeylurkey/issue-768a
turkeylurkey May 24, 2024
d6c1515
Merge pull request #773 from mrglavas/code-action-unification-2
mrglavas May 24, 2024
61acbf2
Include RemoveStaticModifierQuickFix for resolving a @PreDestroy diag…
mrglavas May 24, 2024
a2acf71
Merge pull request #778 from mrglavas/code-action-unification-2
mrglavas May 27, 2024
3cd7775
Fixed Diagnostic missing for @PositiveOrZero and enabled test
vaisakhkannan May 29, 2024
2595daf
Changed the name of String
vaisakhkannan May 29, 2024
61029dc
Merge pull request #785 from vaisakhkannan/#781-Diagnostic-Fix-@Posit…
TrevCraw May 29, 2024
8c9c41b
Merge pull request #787 from OpenLiberty/code-action-unification-2
TrevCraw May 29, 2024
5953707
Removing the obsolete JakartaCodeActionHandler.
mrglavas May 30, 2024
59a2797
Use lsp4ij 0.0.5
turkeylurkey May 30, 2024
e40557f
Merge pull request #792 from mrglavas/main
mrglavas May 30, 2024
84d77ca
Merge pull request #794 from turkeylurkey/microshed5
turkeylurkey May 30, 2024
959d6a6
Run Liberty Start commands on separate thread
turkeylurkey Jun 7, 2024
b31ddbb
Add a timeout waiting for the first command when executing two commands.
turkeylurkey Jun 10, 2024
6d41fed
Merge pull request #808 from turkeylurkey/issue-797
turkeylurkey Jun 11, 2024
6a09c80
Change messages to debug or error
turkeylurkey Jun 11, 2024
157a730
Merge pull request #811 from turkeylurkey/issue-797a
turkeylurkey Jun 11, 2024
f2fe1a4
Update build.gradle
TrevCraw Jun 11, 2024
5b6d990
Merge pull request #812 from OpenLiberty/bump-IntelliJ-version
TrevCraw Jun 12, 2024
138bd2e
Update version and docs for 24.0.6
TrevCraw Jun 12, 2024
54d1e89
Merge pull request #818 from TrevCraw/update-to-24.0.6
TrevCraw Jun 13, 2024
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
4 changes: 2 additions & 2 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:
push:
branches: '**'
pull_request:
branches: [ main, code-action-unification ]
branches: [ main, code-action-unification-2 ]

jobs:
build:
Expand Down Expand Up @@ -37,7 +37,7 @@ jobs:
with:
repository: MicroShed/lsp4ij
path: lsp4ij
ref: refs/tags/0.0.4
ref: refs/tags/0.0.5
- name: 'Checkout liberty-tools-intellij'
uses: actions/checkout@v3
with:
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Liberty Tools for IntelliJ IDEA

<!-- Make sure to also update the #Requirements section below, and in user-guide.md -->
> Note: Version 24.0.3 requires **IntelliJ IDEA 2023.2.\*** or **2023.3.\*** and a minimum of **Java 17**.
> Note: Version 24.0.6 requires **IntelliJ IDEA 2023.2.\***, **2023.3.\***, or **2024.1.\*** and a minimum of **Java 17**.
>
> This page provides an overview of Liberty Tools for IntelliJ IDEA.
> For minimum requirements information and detailed instructions on how to use Liberty Tools, check the [user-guide](docs/user-guide.md).
Expand Down Expand Up @@ -101,7 +101,7 @@ If you experience a problem with this plugin you might be asked to collect langu

## Requirements
<!-- Make sure to also update the note at the top of this file, and in user-guide.md -->
Version 24.0.3 requires **IntelliJ IDEA 2023.2.\*** or **2023.3.\*** and a minimum of **Java 17**.
Version 24.0.6 requires **IntelliJ IDEA 2023.2.\***, **2023.3.\***, or **2024.1.\*** and a minimum of **Java 17**.

For more details, check the [user guide](docs/user-guide.md#software-requirements).

Expand Down
26 changes: 20 additions & 6 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ plugins {
}

group 'io.openliberty.tools'
version '24.0.5-SNAPSHOT'
version '24.0.6'

sourceCompatibility = 17
targetCompatibility = 17
Expand Down Expand Up @@ -48,7 +48,7 @@ repositories {
configurations {
lsp
// needed to avoid ClassCastException org.apache.xerces.jaxp.DocumentBuilderFactoryImpl cannot be cast to class javax.xml.parsers.DocumentBuilderFactory
// xml-apis interfering with xercs
// xml-apis interfering with Xerces
all*.exclude group: 'xml-apis'

runtimeClasspath {
Expand All @@ -65,7 +65,7 @@ configurations {

dependencies {
implementation 'org.eclipse.lsp4j:org.eclipse.lsp4j:0.15.0'
implementation 'org.microshed:lsp4ij:0.0.4' // includes org.eclipse.lsp4j
implementation 'org.microshed:lsp4ij:0.0.5' // includes org.eclipse.lsp4j
implementation ('org.eclipse.lsp4mp:org.eclipse.lsp4mp.ls:0.10.0') {
exclude group: 'org.eclipse.lsp4j'
}
Expand All @@ -82,7 +82,7 @@ dependencies {
}
//required by lsp4j as the version from IJ is incompatible
// implementation 'com.google.code.gson:gson:2.8.9'
// implementation 'com.vladsch.flexmark:flexmark:0.50.50'
// implementation 'com.vladsch.flexmark:flexmark:0.64.8'
// implementation 'org.jsoup:jsoup:1.15.3'
//Add junit dependency back when tests are added
//testImplementation group: 'junit', name: 'junit', version: '4.13.1'
Expand All @@ -92,7 +92,7 @@ dependencies {
testImplementation 'com.intellij.remoterobot:remote-robot:' + remoteRobotVersion
testImplementation 'com.intellij.remoterobot:remote-fixtures:' + remoteRobotVersion
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.9.2'
testImplementation('com.jetbrains.intellij.maven:maven-test-framework:233.11799.241') {
testImplementation('com.jetbrains.intellij.maven:maven-test-framework:241.15989.150') {
transitive = false
}
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.9.2'
Expand Down Expand Up @@ -138,7 +138,7 @@ runIde {

intellij {
// For a full list of IntelliJ IDEA releases please see https://www.jetbrains.com/intellij-repository/releases
version = '2023.3.4'
version = '2024.1.3'

plugins = ['java', 'maven', 'gradle-java', 'properties', 'terminal', 'org.jetbrains.idea.maven', 'com.intellij.gradle']
updateSinceUntilBuild = false
Expand Down Expand Up @@ -180,6 +180,20 @@ tasks {

patchPluginXml {
changeNotes = """
<h2> 24.0.6 </h2>
<p>Version 24.0.6 of Liberty Tools for IntelliJ IDEA contains enhancements and fixes. Version 24.0.6 requires IntelliJ IDEA version 2023.2.*, 2023.3.*, or 2024.1.* and a minimum of Java 17.</p>
Notable changes:
<ul>
<li> Added support for IntelliJ IDEA 2024.1 and its successive fix releases.
<li> Complete quick fix support for Jakarta EE Web Profile 9.x APIs when editing Java files via the <a href="https://github.com/eclipse/lsp4jakarta">Eclipse LSP4Jakarta</a>, Language Server for Jakarta EE.
<li> Enabled GraphQL API support via the <a href="https://github.com/eclipse/lsp4mp">Eclipse LSP4MP</a>, Language Server for MicroProfile.
<li> Fix to bring into focus the terminal tab running the Liberty project targeted by a Liberty action.
<li> Fix to enable the removal of custom start parameters from the “Liberty: Start” action when a Liberty Run/Debug configuration is deleted.
<li> Updated the helper text and hover text for the “Start parameters” input box in the Liberty Run/Debug configuration editor.
<li> Renamed the “Liberty: View effective POM” action to “Liberty: View pom.xml”.
<p>Note: You may observe slow performance when editing your server.xml file when invoking completion or hover. It is possible you may receive a "No documentation found" message on hover. If observed, please report your experience on this GitHub issue: https://github.com/OpenLiberty/liberty-tools-intellij/issues/687.</p>
See the <a href="https://github.com/OpenLiberty/liberty-tools-intellij/compare/24.0.3...24.0.6">commit log</a> for the full set of changes since the previous release.
<br>
<h2> 24.0.3 </h2>
<p>Version 24.0.3 of Liberty Tools for IntelliJ IDEA contains enhancements and fixes. Version 24.0.3 requires IntelliJ IDEA version 2023.2.* or 2023.3.* and a minimum of Java 17.</p>
Notable changes:
Expand Down
2 changes: 1 addition & 1 deletion docs/user-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ For information regarding known issues and limitations, refer to our [Common Iss
## Before you begin
### Software requirements
<!-- Make sure to also update the main README.md note at its top, and its #Requirements section -->
- Version 24.0.3 requires **IntelliJ IDEA version 2023.2.\*** or **2023.3.\***. Liberty Tools for IntelliJ IDEA is compatible with the Community Edition of IntelliJ IDEA.
- Version 24.0.6 requires **IntelliJ IDEA 2023.2.\***, **2023.3.\***, or **2024.1.\***. Liberty Tools for IntelliJ IDEA is compatible with the Community Edition of IntelliJ IDEA.
- **Java 17** or later. If you change the IntelliJ IDEA Boot Java Runtime through the **Change Boot Java Runtime for the IDE** preference, ensure that you are using Java 17 or later.
- [Liberty Tools for IntelliJ IDEA plugin](https://plugins.jetbrains.com/plugin/14856-liberty-tools/)

Expand Down
57 changes: 38 additions & 19 deletions src/main/java/io/openliberty/tools/intellij/LibertyExplorer.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,14 @@
import com.intellij.ide.DataManager;
import com.intellij.openapi.actionSystem.*;
import com.intellij.openapi.actionSystem.impl.SimpleDataContext;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ModalityState;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.fileEditor.FileEditorManager;
import com.intellij.openapi.fileEditor.OpenFileDescriptor;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.SimpleToolWindowPanel;
import com.intellij.openapi.util.Computable;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiFile;
import com.intellij.ui.DoubleClickListener;
Expand Down Expand Up @@ -48,23 +51,39 @@ public class LibertyExplorer extends SimpleToolWindowPanel {

public LibertyExplorer(@NotNull Project project) {
super(true, true);
// build tree
Tree tree = buildTree(project, getBackground());

if (tree != null) {
JBScrollPane scrollPane = new JBScrollPane(tree);
scrollPane.setName(Constants.LIBERTY_SCROLL_PANE);
this.setContent(scrollPane);
} else {
JBTextArea jbTextArea = new JBTextArea(LocalizedResourceUtil.getMessage("no.liberty.projects.detected"));
jbTextArea.setEditable(false);
jbTextArea.setBackground(getBackground());
jbTextArea.setLineWrap(true);

this.setContent(jbTextArea);
}
ActionToolbar actionToolbar = buildActionToolbar(tree);
this.setToolbar(actionToolbar.getComponent());
//NOTE: To address the "Slow operations are prohibited on EDT" Exception (https://github.com/OpenLiberty/liberty-tools-intellij/issues/674), we have implemented the workaround outlined in the document (https://plugins.jetbrains.com/docs/intellij/general-threading-rules.html).
// We have now moved the method "buildTree(project, getBackground())" to a background thread. To pass control from a background thread to the Event Dispatch Thread (EDT), UI operations are now included within the method "ApplicationManager.getApplication().invokeLater()".
ModalityState modalityState = getModalityState();
ApplicationManager.getApplication().executeOnPooledThread(() -> {
// build tree (Read operations need to be wrapped in a read action)
Tree tree = ApplicationManager.getApplication().runReadAction((Computable<Tree>) () -> buildTree(project, getBackground()));

if (tree != null) {
ApplicationManager.getApplication().invokeLater(() -> {
JBScrollPane scrollPane = new JBScrollPane(tree);
scrollPane.setName(Constants.LIBERTY_SCROLL_PANE);
this.setContent(scrollPane);
}, modalityState);
} else {
ApplicationManager.getApplication().invokeLater(() -> {
JBTextArea jbTextArea = new JBTextArea(LocalizedResourceUtil.getMessage("no.liberty.projects.detected"));
jbTextArea.setEditable(false);
jbTextArea.setBackground(getBackground());
jbTextArea.setLineWrap(true);

this.setContent(jbTextArea);
}, modalityState);
}

ApplicationManager.getApplication().invokeLater(() -> {
ActionToolbar actionToolbar = buildActionToolbar(tree);
this.setToolbar(actionToolbar.getComponent());
}, modalityState);
});
}

private ModalityState getModalityState() {
return ModalityState.nonModal();
}

public static ActionToolbar buildActionToolbar(Tree tree) {
Expand Down Expand Up @@ -232,8 +251,8 @@ public void invokePopup(Component comp, int x, int y) {
if (node instanceof LibertyModuleNode libertyNode) {
final DefaultActionGroup group = new DefaultActionGroup();
if (libertyNode.getProjectType().equals(Constants.LIBERTY_MAVEN_PROJECT)) {
AnAction viewEffectivePom = ActionManager.getInstance().getAction(Constants.VIEW_EFFECTIVE_POM_ACTION_ID);
group.add(viewEffectivePom);
AnAction viewPomXml = ActionManager.getInstance().getAction(Constants.VIEW_POM_XML_ACTION_ID);
group.add(viewPomXml);
AnAction viewIntegrationReport = ActionManager.getInstance().getAction(Constants.VIEW_INTEGRATION_TEST_REPORT_ACTION_ID);
group.add(viewIntegrationReport);
AnAction viewUnitTestReport = ActionManager.getInstance().getAction(Constants.VIEW_UNIT_TEST_REPORT_ACTION_ID);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2020, 2023 IBM Corporation.
* Copyright (c) 2020, 2024 IBM Corporation.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
Expand Down Expand Up @@ -31,11 +31,11 @@ protected String getActionCommandName() {
protected void executeLibertyAction(LibertyModule libertyModule) {
Project project = libertyModule.getProject();
VirtualFile buildFile = libertyModule.getBuildFile();
String runTestsCommand = " ";
ShellTerminalWidget widget = getTerminalWidget(false, project, buildFile, getActionCommandName());
ShellTerminalWidget widget = getTerminalWidgetWithFocus(false, project, buildFile, getActionCommandName());
if (widget == null) {
return;
}
String runTestsCommand = " ";
LibertyActionUtil.executeCommand(widget, runTestsCommand);
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2020, 2023 IBM Corporation.
* Copyright (c) 2020, 2024 IBM Corporation.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
Expand Down Expand Up @@ -76,14 +76,13 @@ protected void executeLibertyAction(LibertyModule libertyModule) {
}
}

ShellTerminalWidget widget = getTerminalWidget(true, project, buildFile, getActionCommandName());
ShellTerminalWidget widget = getTerminalWidgetWithFocus(true, project, buildFile, getActionCommandName());
if (widget == null) {
return;
}

String cdToProjectCmd = "cd \"" + buildFile.getParent().getPath() + "\"";
LibertyActionUtil.executeCommand(widget, cdToProjectCmd);
LibertyActionUtil.executeCommand(widget, startCmd);
LibertyActionUtil.executeCommand(widget, cdToProjectCmd, startCmd);
if (libertyModule.isDebugMode() && debugPort != -1) {
// Create remote configuration to attach debugger
debugHandler.createAndRunDebugConfiguration(libertyModule, debugPort);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2020, 2023 IBM Corporation.
* Copyright (c) 2020, 2024 IBM Corporation.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
Expand Down Expand Up @@ -30,7 +30,7 @@ protected String getActionCommandName() {
protected void executeLibertyAction(LibertyModule libertyModule) {
Project project = libertyModule.getProject();
VirtualFile buildFile = libertyModule.getBuildFile();
ShellTerminalWidget widget = getTerminalWidget(true, project, buildFile, getActionCommandName());
ShellTerminalWidget widget = getTerminalWidgetWithFocus(true, project, buildFile, getActionCommandName());
if (widget == null) {
return;
}
Expand All @@ -51,7 +51,6 @@ protected void executeLibertyAction(LibertyModule libertyModule) {
return;
}
String cdToProjectCmd = "cd \"" + buildFile.getParent().getPath() + "\"";
LibertyActionUtil.executeCommand(widget, cdToProjectCmd);
LibertyActionUtil.executeCommand(widget, startCmd);
LibertyActionUtil.executeCommand(widget, cdToProjectCmd, startCmd);
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2020, 2023 IBM Corporation.
* Copyright (c) 2020, 2024 IBM Corporation.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
Expand Down Expand Up @@ -31,11 +31,11 @@ protected String getActionCommandName() {
protected void executeLibertyAction(LibertyModule libertyModule) {
Project project = libertyModule.getProject();
VirtualFile buildFile = libertyModule.getBuildFile();
ShellTerminalWidget widget = getTerminalWidget(false, project, buildFile, getActionCommandName());
String stopCmd = "q";
ShellTerminalWidget widget = getTerminalWidgetWithFocus(false, project, buildFile, getActionCommandName());
if (widget == null) {
return;
}
String stopCmd = "q";
LibertyActionUtil.executeCommand(widget, stopCmd);
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2020, 2023 IBM Corporation.
* Copyright (c) 2020, 2024 IBM Corporation.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
Expand All @@ -13,6 +13,7 @@
import com.intellij.notification.NotificationListener;
import com.intellij.notification.NotificationType;
import com.intellij.notification.Notifications;
import com.intellij.openapi.actionSystem.ActionUpdateThread;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.diagnostic.Logger;
Expand All @@ -26,13 +27,21 @@
import io.openliberty.tools.intellij.util.LocalizedResourceUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.plugins.terminal.ShellTerminalWidget;
import org.jetbrains.plugins.terminal.TerminalView;

import java.util.Arrays;
import java.util.List;

public abstract class LibertyGeneralAction extends AnAction {
protected static final Logger LOGGER = Logger.getInstance(LibertyGeneralAction.class);

@Override
public @NotNull ActionUpdateThread getActionUpdateThread() {
// Schedule actions on the event dispatching thread.
// See: https://plugins.jetbrains.com/docs/intellij/basic-action-system.html#principal-implementation-overrides.
return ActionUpdateThread.EDT;
}

@Override
public void actionPerformed(@NotNull AnActionEvent e) {
String actionCmd = getActionCommandName();
Expand Down Expand Up @@ -162,9 +171,16 @@ protected void notifyError(String errMsg, Project project) {
* @param createWidget create Terminal widget if it does not already exist
* @return ShellTerminalWidget
*/
protected ShellTerminalWidget getTerminalWidget(boolean createWidget, Project project, VirtualFile buildFile, String actionCmd) {
protected ShellTerminalWidget getTerminalWidgetWithFocus(boolean createWidget, Project project, VirtualFile buildFile, String actionCmd) {
LibertyModule libertyModule = LibertyModules.getInstance().getLibertyModule(buildFile);
ShellTerminalWidget widget = LibertyProjectUtil.getTerminalWidget(project, libertyModule, createWidget);
TerminalView terminalView = TerminalView.getInstance(project);
// look for existing terminal tab
ShellTerminalWidget existingWidget = LibertyProjectUtil.getTerminalWidget(libertyModule, terminalView);
// look for creating new terminal tab
ShellTerminalWidget widget = LibertyProjectUtil.getTerminalWidget(project, libertyModule, createWidget, terminalView, existingWidget);
// Set Focus to existing terminal widget
LibertyProjectUtil.setFocusToWidget(project, existingWidget);

// Shows error for actions where terminal widget does not exist or action requires a terminal to already exist and expects "Start" to be running
if (widget == null || (!createWidget && !widget.hasRunningCommands())) {
String msg;
Expand All @@ -177,8 +193,6 @@ protected ShellTerminalWidget getTerminalWidget(boolean createWidget, Project pr
LOGGER.warn(msg);
return null;
}
widget.getComponent().setVisible(true);
widget.getComponent().requestFocus();
return widget;
}

Expand Down
Loading
Loading