Closed bric3 closed 1 year ago
Just be aware that ApplicationLoadListener
is called further up in the call stack, so a lot before startup activities.
In this case I think it's ok removing it, but in general don't worry too much about using these internal APIs. I've done way worse lol
Yes but plugins using internal API will be rejected by default.
Just be aware that
ApplicationLoadListener
is called further up in the call stack, so a lot before startup activities.
I'm aware of that. That said, the doc indicates this extension/listener shouldn't be used by plugin developers. Otherwise there's also the AppLifecycleListener
, something along the lines
<applicationListeners>
<listener class="plugin.OnAppStartup" topic="com.intellij.ide.AppLifecycleListener"/>
</applicationListeners>
class OnAppStartup : AppLifecycleListener {
override fun appStarted() {
// do something
}
}
Yes but plugins using internal API will be rejected by default.
That's a bit harsh tbh. I think that's just theoretical.
Otherwise how do you get rid of these workarounds, as they're both reported as internal API usages.
But this change in particular is definitely ok, it makes no sense using ApplicationLoadListener
anymore.
I understand their point of view regarding API support. We'll see how this is implemented in the coming months. But I bet they will tighten their process here.
I'm not sure about the API quoted above. I can certainly see why they wouldn't want plugin developers to forbid flushQueue()
.
Seems like BundleBase
is also internal
And there other usage of CompletionProgressIndicator
there
Let's not worry about it at all for now. We'll get back at it if they push back updates.
Merged, thanks!
@bric3 I will temporarily revert to the ApplicationLoadListener
. See DM on Slack.
Plugin verification is now forbidding Internal APIs, this commit replaces the internal mechanism by combining
StartupActivity
andRunOnceUtil
.