You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This should be the last changes needed to get this plugin accepted in the JetBrains Marketplace.
I'm in discussion with JetBrains' Albert Ishmukhametov to resolve this. I want to document the conversation here.
There are 3 instances where the plugin I try to publish (https://plugins.jetbrains.com/plugin/24075-elm) uses @Internal annotated API. I did not know this was reason to reject, but since it is I'm right on it.
All three are not listed and the help in the code comments is also not much helpful.
funexecuteAction(action:AnAction, place:String, dataContext:DataContext) {
val event =AnActionEvent.createFromAnAction(action, null, place, dataContext)
action.beforeActionPerformedUpdate(event)
action.update(event)
if (event.presentation.isEnabled && event.presentation.isVisible) {
val actionManager =ActionManagerEx.getInstanceEx()
actionManager.fireBeforeActionPerformed(action, event)
action.actionPerformed(event)
actionManager.fireAfterActionPerformed(action, event, AnActionResult.PERFORMED)
}
}
I have no idea how to change this bit of code from using ActionManagerEx andfireBefore/AfterActionPerformed(...) to use ActionUtil instead. Is there some mode documentation somewhere, or do you have a link to a commit in an opensource plugin that does something similar?
It may be part of a larger problem, because, as I see (in the same file) NotificationGroup.balloonGroup(...) is deprecated, it may mean I have to create this balloonGroup notification widget differently.
The deprecation warning there says: Use com.intellij.notification.impl.NotificationGroupEP and com.intellij.notification.NotificationGroupManager
The argument name of balloonGroup(...) is displayId, where the argument name of getNotificationGroup(...) is groupId. After changing this IDEA complains saying: "Cannot resolve notification group id 'Elm Plugin'"
I think the documentation on how to rework code not to use deprecated or @Internal API is sometimes a bit sparse.
The text was updated successfully, but these errors were encountered:
@kuglee I filed an issue with them asking for help on how to move away from some use of @Internal APIs. No response yet, but they have admitted the plugin to the Marketplace non the less.
Probably it was not that important I did not use the internal API :)
This should be the last changes needed to get this plugin accepted in the JetBrains Marketplace.
I'm in discussion with JetBrains' Albert Ishmukhametov to resolve this. I want to document the conversation here.
There are 3 instances where the plugin I try to publish (https://plugins.jetbrains.com/plugin/24075-elm) uses
@Internal
annotated API. I did not know this was reason to reject, but since it is I'm right on it.All three are not listed and the help in the code comments is also not much helpful.
For the
fireBefore/AfterActionPerformed
the code comments say:Do not call directly, prefer [ActionUtil] methods.
See: https://github.com/JetBrains/intellij-community/blob/434fa3cc12140cd6004411afa75b8dfbea8c327c/platform/platform-api/src/com/intellij/openapi/actionSystem/ex/ActionManagerEx.kt#L106
But ActionUtil has nothing like these methods. I read the whole class.
For
AnActionResult.PERFORMED
there is not even a reference to what should be used instead.See: https://github.com/JetBrains/intellij-community/blob/434fa3cc12140cd6004411afa75b8dfbea8c327c/platform/editor-ui-api/src/com/intellij/openapi/actionSystem/AnActionResult.java#L13
The code I want to replace is quite simple:
intellij-elm/src/main/kotlin/org/elm/ide/notifications/Utils.kt
Line 45 in 0c9bc7c
I have no idea how to change this bit of code from using
ActionManagerEx
andfireBefore/AfterActionPerformed(...)
to useActionUtil
instead. Is there some mode documentation somewhere, or do you have a link to a commit in an opensource plugin that does something similar?It may be part of a larger problem, because, as I see (in the same file)
NotificationGroup.balloonGroup(...)
is deprecated, it may mean I have to create this balloonGroup notification widget differently.The deprecation warning there says:
Use com.intellij.notification.impl.NotificationGroupEP and com.intellij.notification.NotificationGroupManager
So I change:
into
The argument name of
balloonGroup(...)
isdisplayId
, where the argument name ofgetNotificationGroup(...)
isgroupId
. After changing this IDEA complains saying: "Cannot resolve notification group id 'Elm Plugin'"I think the documentation on how to rework code not to use deprecated or
@Internal
API is sometimes a bit sparse.The text was updated successfully, but these errors were encountered: