How to register service MavenWorkspaceSettingsComponent for plugin?

Answered

Hello, DevKit support Team!

I tried to create unit tests for our developing plugin which analyze PSI elements of other imported maven-project.
My goal is to get all super classes of some class,
but in order to implement it we need to get PsiClass objects from dependencies enumerated in pom.xml.

I investigated some examples from IntelliJ Idea Community source code, such as, MavenUtilTest and others.
All the test classes inherited from MavenTestCase.

The method MavenTestCase.setUp() contains line
MavenWorkspaceSettingsComponent.getInstance(myProject).loadState(new MavenWorkspaceSettings());
where MavenWorkspaceSettingsComponent.getInstance(myProject) return service MavenWorkspaceSettingsComponent,

But in my plugin project MavenWorkspaceSettingsComponent.getInstance(myProject) returns null.
What is problem with what?

 

How to register service MavenWorkspaceSettingsComponent ?

0
3 comments
Avatar
Permanently deleted user

What particular steps I need to do?

Ok, I did next steps:

- Added maven.jar to SDK Platform Settings

- Added <depends>org.jetbrains.idea.maven</depends> in plugin.xml

- Changed 

intellij { plugins 'java' }

to

intellij { setPlugins("java", "maven")  }

 

but MavenWorkspaceSettingsComponent.getInstance(myProject) returns null again.

0

Why are you mixing Gradle setup and Devkit SDK setup?

You must choose one approach of adding Maven plugin to your classpath.

0

Please sign in to leave a comment.