Hi, since 262.2 when i publish my plugin, i has veryfier error:
“Internal methods usages ExternalSystemUnlinkedProjectAware.getLinkedProjectsPaths”
But i only implement extension point - externalSystemUnlinkedProjectAware (ExternalSystemUnlinkedProjectAware interface)
ExternalSystemUnlinkedProjectAware contain @Internal default method, but i dont override it.
I cannot publish my plugin with extension point - externalSystemUnlinkedProjectAware.
What should I do?
Even though you don’t override that method, its class still implements an interface whose contract includes a method annotated @ApiStatus.Internal, so Marketplace/Verifier treats it as internal API usage.
What I don’t understand is why you used this EP at all, since, from what I can see, the getLinkedProjectsPaths() method has always been annotated @internal.
An immediate publishable fix is, of course, to remove the externalSystemUnlinkedProjectAware extension registration and the corresponding implementation. However, you will lose that auto-link/unlinked-project integration.
If you need this functionality, I don’t see a clean third-party way right now. Maybe some of the other people have an idea.
What I don’t understand is why you used this EP at all, since, from what I can see, the getLinkedProjectsPaths() method has always been annotated @internal.
No, method getLinkedProjectsPaths was marked as @Internal since 26* versions.
I use extension point - externalSystemUnlinkedProjectAware since 2024 year in my maven plugin for notification - that build file is found and my be linked into IDE.
It’s incorrect behavior to mark a method as “internal” for publicly accessible extension points. This makes them unusable, resulting in a verification error.
Yes, you are obviously right. I checked the commits for when the definition was made internal. I somehow missed that it was added to the interface, being internal all along. Sorry.