Skip to content

Wait for deferred PDE classpath initializer before initial reconcile#2374

Merged
iloveeclipse merged 1 commit intoeclipse-jdt:masterfrom
merks:pr-delay-reconcile-if-pde-has-deferred-classpath-container
Jul 23, 2025
Merged

Wait for deferred PDE classpath initializer before initial reconcile#2374
iloveeclipse merged 1 commit intoeclipse-jdt:masterfrom
merks:pr-delay-reconcile-if-pde-has-deferred-classpath-container

Conversation

@merks
Copy link
Copy Markdown
Contributor

@merks merks commented Jul 23, 2025

  • This avoids the display the transient error annotations that are the result of PDE's deferring classpath initialization to a background job.

See eclipse-pde/eclipse.pde#1888 for related details.


I acknowledge that there may well exist better solutions and I am willing to help review such alternative solutions in the future.

My hope is that we can make this low-risk comprise change for m2 so that I can fully test tomorrows SDK build in real-life scenarios tomorrow, before the final m2 build, where I currently always see error annotation in open editors on startup; ones that do not go away, although I do believe that the "do not go away problem" has been solved. So the remaining problem (transient annotation that this PR addresses is definitely far less nasty.

In any case, of course I respect the decisions of the project committers whatever those decisions may be. We're one big team and have the same goals in mind, i.e., high quality software.

- This avoids the display the transient error annotations that are the
result of PDE's deferring classpath initialization to a background job.
@iloveeclipse iloveeclipse merged commit 1f01b41 into eclipse-jdt:master Jul 23, 2025
13 checks passed
@merks merks deleted the pr-delay-reconcile-if-pde-has-deferred-classpath-container branch July 23, 2025 17:47
@laeubi
Copy link
Copy Markdown
Contributor

laeubi commented Jul 23, 2025

@merks I think InitializeAfterLoadJob should also belong to the group ClasspathContainerInitializer.class now (as well as its RealJob) even though these are started as part of loading the editor, there is no guarantee the complete before the editor start to reconcile and might be running still.

@merks
Copy link
Copy Markdown
Contributor Author

merks commented Jul 23, 2025

@merks I think InitializeAfterLoadJob should also belong to the group ClasspathContainerInitializer.class now (as well as its RealJob) even though these are started as part of loading the editor, there is no guarantee the complete before the editor start to reconcile and might be running still.

I did experiment with waiting for that job too but it had no impact on the visual outcome/behavior. This job has always just run separately in the background, and adding it to the family will tend to contribute to @iloveeclipse’s concerns about delays for all Java editors including for scenarios where things have apparently worked fine without a delay and do not involve PDE.

So while logically what you suggest seems appropriate and sensible, conservatively it’s probably better not to fix/change something where we have not demonstrated an actual problem that the change solves.

@merks
Copy link
Copy Markdown
Contributor Author

merks commented Jul 24, 2025

@iloveeclipse

FYI, I tested setting up my normal Oomph IDE based on the Eclipse SDK from last night. That version (the top one) consistently restarts in a clean state while the M1 version (the bottom one) always comes up with errors:

image

So these changes do look properly functional now. (And of course the editor shows errors when one introduces them.)

Thank you and @laeubi both for the your contributions to this improved result.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants