-
Notifications
You must be signed in to change notification settings - Fork 118
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
Perform Maven target dependency update in non-UI thread #1901
base: main
Are you sure you want to change the base?
Conversation
Test Results 324 files ±0 324 suites ±0 53m 23s ⏱️ + 1m 40s For more details on these failures and errors, see this check. Results for commit b61df1c. ± Comparison against base commit 66b65ce. ♻️ This comment has been updated with latest results. |
f49b773
to
1a4d43c
Compare
@@ -316,7 +312,7 @@ public void testUpdateMavenArtifactVersion() throws Exception { | |||
|
|||
table.select(12); | |||
robot.button("Update").click(); | |||
readAndDispatch(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The test is executed too fast. Because the update is now done in a separate thread, we get the "The wizard can't be closed because of an active operation" popup when trying to close it.
fdb0de1
to
7a69cf7
Compare
7a69cf7
to
d49118a
Compare
@ptziegler can you check with latest release? I Think that I should have fixed this in PDE so it performs updates in a separate thread. If not let me know I think this is better handled in the PDE editor than directly in the target location implementation. |
I've just tested it with org.eclipse.pde 3.13.3000.v20250228-0140 and org.eclipse.m2e.pde.target 2.1.1.20250223-0727 and the problem still exists. More specifically, the issue lies with the following button, which is used to updated all selected dependencies. Those updates are done in the UI thread and if, like in my case, 200 or so artifacts are updated at once, the IDE freezes for ~1-2 minutes. Given that this is purely an interaction between the dialog and Maven Central, I'm not sure if this has anything to do with PDE editor itself. |
I see, I thought this is referencing to the update button in the target editor, so is there anything left here or can we merge this after conflicts are resolved? |
d49118a
to
b329c70
Compare
b329c70
to
b051c26
Compare
Updating the selected artifacts in the target dependency dialog might a long-running operation, as a request needs to be sent to Maven Central, and should therefore run without blocking the application. Instead of being executed in the UI thread, this is now done in the runnable context of the containing wizard.
b051c26
to
b61df1c
Compare
Depending on how many artifacts are updated, this might be a long-running operation and should therefore be run without blocking the application.