-
Notifications
You must be signed in to change notification settings - Fork 408
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
Enhance initialization of gradle projects #3357
Conversation
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.
Looked back to #1874 , as I wanted to be sure we're not undoing the reason we moved it here to begin with. I guess the condition holds, We're starting the bundles even more before language server initialization. It's in a job that gets scheduled when the JDT-LS bundle is started.
Should this be reproducible before this PR ? If I insert a breakpoint right at JavaCore.initializeAfterLoad(monitor);
in the initializeAfterLoad
job and one at InitHandler.handleInitializationOptions(..)
and attempt to make sure the initializeAfterLoad
call runs first, I'm not seeing a dead lock after proceeding with the thread that runs in the InitHandler
. Am I missing something ?
org.eclipse.jdt.ls.core/src/org/eclipse/jdt/ls/core/internal/handlers/InitHandler.java
Outdated
Show resolved
Hide resolved
test this please |
@snjeza let me know about steps to reproduce if there exist some consistent way |
There isn't a consistent way. You can try the following:
VS Code will freeze sometimes. |
test this please |
1 similar comment
test this please |
The related PR - #3361 |
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.
Overall, I think this fixes the issue! I would just add a message in the body of the commit :
- Move Maven/Gradle bundle activation from initialization to JDT-LS startup
- Synchronize annotation processing configuration only if necessary
org.eclipse.jdt.ls.core/src/org/eclipse/jdt/ls/core/internal/JavaLanguageServerPlugin.java
Outdated
Show resolved
Hide resolved
- Move Maven/Gradle bundle activation from initialization to JDT-LS startup - Synchronize annotation processing configuration only if necessary
I have added it. |
Fixes