In our plugin we depend on com.intellij.collaboration.auth.services.OAuthServiceBase which used to be a part of intellij.platform.collaborationTools so we had the following in the plugin.xml
`
Unfortunately, our plugin fails with in 2025.3 EAP (253.25908.13):
I see ContentModuleDescriptor(id=intellij.platform.collaborationTools) in PluginClassLoader
It seems 2025.3 introduced new modulesintellij.platform.collaborationTools.auth and intellij.platform.collaborationTools.auth.base which are not getting loaded transitively for intellij.platform.collaborationTools. Is it bug?
How can we support 2025.3 and previous versions with a single plugin.xml? Adding dependency on the new module will make the plugin incompatible with previous versions. There are also no way to mark module dependency as optional.
Here is a project that reproduces the issue. Based of the official template.
AFAIK, with a traditional (v1) plugin descriptor you only need a build dependency on the new modules but not a runtime dependency. A v1 descriptor can only declare dependencies on plugins, not modules. And to my knowledge all modules of the IDE, which are not part of a plugin, are always available to a v1 plugin by default.
(I had to make a similar change.)
With v2 that’s different, but unless you know that you’re using a v2 descriptor you won’t have one
Running with 2025.3, the only exception I received was this: #c.i.i.p.PluginManager - Cannot find service com.github.fkorotkov.intellijpluginbugreproduction.auth.MyOAuthService.
You didn’t register your auth service. If you add the annotation there’s no exception anymore.
@Service(Service.Level.APP)
class MyOAuthService : OAuthServiceBase<MyCredentials>() {
...
}
Additionally, your plugin.xml is not correct. The devkit plugin has a warning on the following block. You need to remove it, because <dependencies> is a v2-descriptor element. Only <depends> with plugins is valid in the regular plugin.xml.
<dependencies>
<!-- for OAuth support -->
<module name="intellij.platform.collaborationTools"/>
</dependencies>
Building with 2025.3 requires this additional build-time module: