% ./gradlew test
...
:compileScala
.../intellij-haskforce/src/com/haskforce/codeInsight/HaskellCompletionCacheLoader.scala:21: trait ProjectComponent in package components is deprecated: see corresponding Javadoc for more information.
class HaskellCompletionCacheLoader(project: Project) extends ProjectComponent {
^
/**
* @deprecated components are deprecated. If you register a class as a project component it will be loaded, its instance will be created and
* {@link #initComponent()} and {@link #projectOpened()} methods will be called for each project even if user doesn't use any feature of your
* plugin. Also plugins which declare project components don't support dynamic loading. Please see
* http://www.jetbrains.org/intellij/sdk/docs/basics/plugin_structure/plugin_components.html for guidelines on migrating to other APIs.
*/
@Deprecated
public interface ProjectComponent extends BaseComponent {
To store the state of your plugin at the application or project level, use a Service and implement the PersistentStateComponent interface. See Persisting State of Components for details.
cache
field. It's fairly primitive - https://github.com/carymrobbins/intellij-haskforce/blob/idea-2020.1/src/com/haskforce/codeInsight/HaskellCompletionCacheLoader.scala
% ls -1 ~/.gradle/caches/modules-2/files-2.1/com.jetbrains.intellij.idea/ideaIC
193.5233-EAP-CANDIDATE-SNAPSHOT
2019.2.1
2019.3
2019.3.1
2020.1
LATEST-EAP-SNAPSHOT