Weird removal of classes without deprecation or not?

Answered

Alexander asked a similar question two days ago but please read to the end of my post. I switched my build-system to use the IntelliJ SDK 2019.2 EAP and several classes are missing from the SDK. I'm using the Gradle plugin of IntelliJ and it downloaded the latest snapshot version "192.5281.24" and after the switch, I could identify the following classes which are missing

  • com.intellij.openapi.actionSystem.DataKeys
  • com.intellij.platform.templates.BuilderBasedTemplate
  • com.intellij.ide.util.projectWizard.SdkSettingsStep
  • com.intellij.openapi.roots.ui.configuration.JavaContentEntriesEditor
  • com.intellij.openapi.roots.ui.configuration.DefaultModuleConfigurationEditorFactory
  • com.intellij.openapi.roots.LanguageLevelModuleExtensionImpl

You can check that version I mentioned above is exactly the same as the one from the EAP download page of IDEA. Furthermore, it is the same version of the latest tag on the GitHub sources. Here comes the fun part. I went on to check the sources because I wanted to find the person to blame-shame for this and to my surprise, all classes mentioned above are still in the sources. So for instance

 

This class is still in the sources with no deprecation warning. My best guess right now is that somehow these classes did not make it into the binary but I'm not sure I'm doing something weird. Does anyone have a suggestion?

4 comments
Comment actions Permalink

Those classes have probably been broken out into the new Java support plugin, see: https://blog.jetbrains.com/platform/2019/06/java-functionality-extracted-as-a-plugin/

1
Comment actions Permalink

@Colin Embarrassing, because (a) I knew about this separation and (b) it also crossed my mind. I discarded it because "DataKeys" didn't sound much like a Java dependency. However, as it turns out, you are completely right and checking the sources shows that all of them are now in the java module. Thank you!

0
Comment actions Permalink

w/r to "DataKeys" :

  • Please use {@link LangDataKeys}, {@link PlatformDataKeys} or {@link CommonDataKeys} directly.
0
Comment actions Permalink

@Yann Sorry for not mentioning that I already fixed the DataKeys deprecation.

0

Please sign in to leave a comment.