-
Notifications
You must be signed in to change notification settings - Fork 412
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
Update Analysis API to 2.1.20-dev-4370 #3802
Changes from 14 commits
1297659
3a3ffbd
43bee3c
62d243f
b1fc404
70a4bcc
e0f78b4
977340a
fa90692
9e26139
9d707c2
a58d9b2
09f60db
4fa533f
54038cf
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -71,6 +71,21 @@ public class JavaAnalysisPlugin : DokkaPlugin() { | |
DocCommentFinder(logger, docCommentFactory) | ||
} | ||
|
||
// TODO https://youtrack.jetbrains.com/issue/KT-71862 use an endpoint from AA | ||
/** | ||
* Disposes global resources which would persist after unloading Analysis API (Symbols analysis) and IJ platform classes. | ||
vmishenev marked this conversation as resolved.
Show resolved
Hide resolved
|
||
* | ||
* **Important:** Once this function has been called, Analysis API *and* IntelliJ platform classes should not be used anymore. The classes | ||
* should either be unloaded or the whole program should be shut down. | ||
* | ||
* Note: Disposing of resources, including threads, allows unloading Dokka's class loader. | ||
*/ | ||
@InternalDokkaApi | ||
public fun disposeGlobalStandaloneApplicationServices() { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. why do we add this function inside There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Only from There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Anyway, Marco will merge the endpoint into AA so we will be able to call it from K2. I left There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Probably it will be nice to also create an issue on our side, to keep track of it |
||
@Suppress("UnstableApiUsage") | ||
com.intellij.util.concurrency.AppExecutorUtil.shutdownApplicationScheduledExecutorService() | ||
} | ||
|
||
internal val javaDocCommentCreator by extending { | ||
docCommentCreators providing { JavaDocCommentCreator() } | ||
} | ||
|
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.
I don't really like that we need to add this flag here, only in tests... But not sure, that there are a lot of users which will be affected by issue with JDK 8 (note: Gradle migrating to JDK 17 by default for execution)
Overall, as far as I understand, this means, that K2 analysis could cause OOM on user projects with JDK 8? I think it would be nice to mention this in release notes if so, WDYT?
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.
Yes, but as you said it is unknown how many real user projects it affects.
This test is quite artificial with almost no code.
On real projects with the same number of modules, the behavior of JVM 8 might be different.