Skip to content

Commit 217603e

Browse files
committed
Remove dependency on an internal IDEA module
Android Studio no longer supports maven projects so we can't use it anymore if we are going to support multiple IDEA based IDEs with this one plugin.
1 parent 333d821 commit 217603e

File tree

4 files changed

+17
-16
lines changed

4 files changed

+17
-16
lines changed

src/ServiceStackIDEA/src/main/java/net/servicestack/idea/AddServiceStackRefHandler.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
import com.intellij.psi.PsiManager;
1313
import com.intellij.psi.PsiPackage;
1414
import org.jetbrains.annotations.Nullable;
15-
import org.jetbrains.idea.maven.project.MavenProjectsManager;
1615

1716
import java.io.*;
1817
import java.net.MalformedURLException;
@@ -43,9 +42,7 @@ public static void handleOk(String addressUrl, String qualifiedPackageName,
4342
if (javaCodeLines == null) return;
4443
defaultNativeTypesHandler = IDEAUtils.getDefaultNativeTypesHandler(module);
4544
boolean showDto = true;
46-
final MavenProjectsManager mavenProjectsManager = MavenProjectsManager.getInstance(module.getProject());
47-
48-
boolean isMavenModule = mavenProjectsManager != null && mavenProjectsManager.isMavenizedModule(module);
45+
boolean isMavenModule = IDEAPomFileHelper.isMavenModule(module);
4946
if(isMavenModule) {
5047
showDto = !tryAddMavenDependency(module);
5148
} else {

src/ServiceStackIDEA/src/main/java/net/servicestack/idea/AddServiceStackReference.java

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
import com.intellij.openapi.project.Project;
1717
import com.intellij.openapi.vfs.VirtualFile;
1818
import com.intellij.psi.*;
19-
import org.jetbrains.idea.maven.project.MavenProjectsManager;
2019
import org.jetbrains.annotations.NotNull;
2120

2221
import java.util.ArrayList;
@@ -146,17 +145,15 @@ private PsiPackage testPackage(Module module, String packageName, List<String> p
146145

147146
@Override
148147
public void update(AnActionEvent e) {
149-
Module m = getModule(e);
150-
if(m == null) {
148+
Module module = getModule(e);
149+
if(module == null) {
151150
e.getPresentation().setEnabled(false);
152151
return;
153152
}
154153

155-
final MavenProjectsManager mavenProjectsManager = MavenProjectsManager.getInstance(m.getProject());
156-
157-
boolean isMavenModule = mavenProjectsManager != null && mavenProjectsManager.isMavenizedModule(m);
154+
boolean isMavenModule = IDEAPomFileHelper.isMavenModule(module);
158155

159-
if (isAndroidProject(m) || isMavenModule) {
156+
if (isAndroidProject(module) || isMavenModule) {
160157
e.getPresentation().setEnabled(true);
161158
} else {
162159
e.getPresentation().setEnabled(false);

src/ServiceStackIDEA/src/main/java/net/servicestack/idea/IDEAPomFileHelper.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@
77
import com.intellij.openapi.project.Project;
88
import com.intellij.openapi.vfs.LocalFileSystem;
99
import com.intellij.openapi.vfs.VirtualFile;
10+
import com.intellij.psi.PsiDirectory;
1011
import com.intellij.psi.PsiDocumentManager;
1112
import com.intellij.psi.PsiFile;
1213
import com.intellij.psi.search.FilenameIndex;
1314
import com.intellij.psi.search.GlobalSearchScope;
14-
import org.jetbrains.idea.maven.project.MavenProjectsManager;
1515
import org.w3c.dom.Document;
1616
import org.w3c.dom.Node;
1717
import org.w3c.dom.NodeList;
@@ -56,7 +56,12 @@ public static String findNearestModulePomFile(Module module) {
5656
PsiFile[] pomLibFiles = FilenameIndex.getFilesByName(module.getProject(), "pom.xml", GlobalSearchScope.allScope(module.getProject()));
5757
String pomFilePath = null;
5858
for(PsiFile psiPom : pomLibFiles) {
59-
if(psiPom.getParent().getVirtualFile().getPath().equals(module.getModuleFile().getParent().getPath())) {
59+
PsiDirectory psiPomParent = psiPom.getParent();
60+
VirtualFile moduleVirtualFile = module.getModuleFile();
61+
if(psiPomParent == null || moduleVirtualFile == null) {
62+
continue;
63+
}
64+
if(psiPomParent.getVirtualFile().getPath().equals(moduleVirtualFile.getParent().getPath())) {
6065
pomFilePath = psiPom.getVirtualFile().getPath();
6166
}
6267
}
@@ -193,8 +198,11 @@ private static boolean pomDependencyElementMatch(Node dependencyElement, String
193198
return groupIdMatch && artifactIdMatch;
194199
}
195200

201+
public static boolean isMavenModule(Module module) {
202+
return findNearestModulePomFile(module) != null;
203+
}
204+
196205
public static boolean isMavenProjectWithKotlin(Module module) {
197-
final MavenProjectsManager mavenProjectsManager = MavenProjectsManager.getInstance(module.getProject());
198-
return mavenProjectsManager.isMavenizedModule(module) && pomHasKotlinDependency(module);
206+
return isMavenModule(module) && pomHasKotlinDependency(module);
199207
}
200208
}

src/ServiceStackIDEA/src/main/resources/META-INF/plugin.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
<!-- please see http://confluence.jetbrains.com/display/IDEADEV/Plugin+Compatibility+with+IntelliJ+Platform+Products
2727
on how to target different products -->
2828
<depends>com.intellij.modules.lang</depends>
29-
<depends>org.jetbrains.idea.maven</depends>
3029

3130
<extensions defaultExtensionNs="com.intellij">
3231
<!-- Add your extensions here -->

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy