Skip to content

Commit be32e38

Browse files
committed
Remove all use of deprecated and internal APIs.
Fix verification versions, and don't use `untilBuild` to avoid constant updating.
1 parent e54f88d commit be32e38

9 files changed

+51
-50
lines changed

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ tasks {
8484
patchPluginXml {
8585
version.set(properties("pluginVersion"))
8686
sinceBuild.set(properties("pluginSinceBuild"))
87-
untilBuild.set(properties("pluginUntilBuild"))
87+
//untilBuild.set(properties("pluginUntilBuild"))
8888

8989
// Extract the <!-- Plugin description --> section from README.md and provide for the plugin's manifest
9090
pluginDescription.set(

gradle.properties

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,20 @@ pluginVersion = 1.3.3
77

88
# See https://plugins.jetbrains.com/docs/intellij/build-number-ranges.html
99
# for insight into build numbers and IntelliJ Platform versions.
10-
pluginSinceBuild = 192
11-
pluginUntilBuild = 231.*
10+
pluginSinceBuild = 211.6693.111
11+
# pluginUntilBuild = 231.*
1212

1313
# Plugin Verifier integration -> https://github.com/JetBrains/gradle-intellij-plugin#plugin-verifier-dsl
1414
# See https://jb.gg/intellij-platform-builds-list for available build versions.
15-
pluginVerifierIdeVersions = 2021.1.3, 2022.1
15+
pluginVerifierIdeVersions = 211.6693.111
1616

1717
platformType = IC
18-
platformVersion = 2019.3.4
18+
platformVersion = 2021.1
1919
platformDownloadSources = true
2020

2121
# Plugin Dependencies -> https://plugins.jetbrains.com/docs/intellij/plugin-dependencies.html
2222
# Example: platformPlugins = com.intellij.java, com.jetbrains.php:203.4449.22
23-
platformPlugins = maven, java, PythonCore:193.6911.18
23+
platformPlugins = maven, java, PythonCore:211.6693.119
2424

2525
# Opt-out flag for bundling Kotlin standard library.
2626
# See https://plugins.jetbrains.com/docs/intellij/kotlin.html#kotlin-standard-library for details.

src/main/java/net/servicestack/idea/AddRef.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ private void processOK() {
207207
builder.append(metadataInputLine);
208208

209209

210-
JsonElement jElement = new JsonParser().parse(builder.toString());
210+
JsonElement jElement = JsonParser.parseString(builder.toString());
211211
if (jElement.getAsJsonArray().size() > 0) {
212212
String latestTag = jElement.getAsJsonArray().get(0).getAsJsonObject().get("name").getAsJsonPrimitive().getAsString();
213213
DepConfig.setServiceStackVersion(latestTag.substring(1));

src/main/java/net/servicestack/idea/AddServiceStackAction.java

Lines changed: 23 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@
1414
import com.intellij.openapi.module.Module;
1515
import com.intellij.openapi.module.ModuleManager;
1616
import com.intellij.openapi.project.Project;
17-
import com.intellij.openapi.roots.LanguageLevelModuleExtensionImpl;
17+
import com.intellij.openapi.roots.LanguageLevelModuleExtension;
18+
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
19+
import com.intellij.openapi.roots.ModuleRootManager;
1820
import com.intellij.openapi.vfs.VirtualFile;
1921
import com.intellij.pom.java.LanguageLevel;
2022
import com.intellij.psi.*;
@@ -60,28 +62,6 @@ public void actionPerformed(@NotNull AnActionEvent e) {
6062
if (mainPackage != null) {
6163
dialog.setSelectedPackage(mainPackage);
6264
}
63-
} else if (module.getModuleFile() != null) {
64-
try {
65-
PsiDirectory selectedDir = (PsiDirectory) element;
66-
String packageName = "";
67-
String moduleDirectoryPath = module.getModuleFile().getParent().getPath();
68-
List<String> packageArray = new ArrayList<>();
69-
while (selectedDir != null && !(moduleDirectoryPath.equals(selectedDir.getVirtualFile().getPath()))) {
70-
packageArray.add(selectedDir.getName());
71-
selectedDir = selectedDir.getParent();
72-
PsiPackage mainPackage = testPackage(module, packageName, packageArray);
73-
if (mainPackage != null) {
74-
//"java" is a valid package name in an empty project according to openapi so we have to ignore it and no pre-populate package name....
75-
if(mainPackage.getQualifiedName().equals("java")) {
76-
break;
77-
}
78-
dialog.setSelectedPackage(mainPackage);
79-
break;
80-
}
81-
}
82-
} catch (Exception ex) {
83-
//do nothing, can't get package name.
84-
}
8565
}
8666

8767
ShowDialog(module, dialog, e);
@@ -192,12 +172,27 @@ public boolean isJavaProject(Module module) {
192172
return false;
193173
}
194174

195-
LanguageLevelModuleExtensionImpl languageLevelExtension = LanguageLevelModuleExtensionImpl.getInstance(module);
175+
LanguageLevelModuleExtension languageLevelModuleExtension = ModuleRootManager.getInstance(module).getModuleExtension(LanguageLevelModuleExtension.class);
176+
177+
LanguageLevel languageLevel = null;
178+
179+
if (languageLevelModuleExtension != null) {
180+
languageLevel = languageLevelModuleExtension.getLanguageLevel();
181+
}
182+
183+
if (languageLevel == null) { // module does not have a specific language level, let's check global project setting
184+
LanguageLevelProjectExtension languageLevelProjectExtension = LanguageLevelProjectExtension.getInstance(module.getProject());
185+
if (languageLevelProjectExtension != null) {
186+
languageLevel = languageLevelProjectExtension.getLanguageLevel();
187+
}
188+
}
196189

197-
// Check if language level is not null and it is at least JDK_1_3
198-
return languageLevelExtension != null &&
199-
languageLevelExtension.getLanguageLevel() != null &&
200-
languageLevelExtension.getLanguageLevel().isAtLeast(LanguageLevel.JDK_1_3);
190+
// Check if language is not null and at least JDK_1_1 (or your required Java level.)
191+
if (languageLevel != null && languageLevel.isAtLeast(LanguageLevel.JDK_1_3)) {
192+
return true;
193+
}
194+
195+
return false;
201196
}
202197

203198
static Module getModule(Project project) {

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

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,22 @@
11
package net.servicestack.idea;
22

3+
import com.intellij.ide.highlighter.XmlFileType;
34
import com.intellij.openapi.application.ApplicationManager;
45
import com.intellij.openapi.editor.DocumentRunnable;
56
import com.intellij.openapi.fileEditor.FileDocumentManager;
67
import com.intellij.openapi.module.Module;
78
import com.intellij.openapi.project.Project;
89
import com.intellij.openapi.vfs.LocalFileSystem;
10+
import com.intellij.openapi.vfs.VfsUtil;
11+
import com.intellij.openapi.vfs.VfsUtilCore;
912
import com.intellij.openapi.vfs.VirtualFile;
1013
import com.intellij.psi.PsiDirectory;
1114
import com.intellij.psi.PsiDocumentManager;
1215
import com.intellij.psi.PsiFile;
16+
import com.intellij.psi.search.FileTypeIndex;
1317
import com.intellij.psi.search.FilenameIndex;
1418
import com.intellij.psi.search.GlobalSearchScope;
19+
import com.intellij.util.indexing.FileBasedIndex;
1520
import org.w3c.dom.Document;
1621
import org.w3c.dom.Node;
1722
import org.w3c.dom.NodeList;
@@ -29,6 +34,8 @@
2934
import java.io.File;
3035
import java.io.IOException;
3136
import java.io.StringWriter;
37+
import java.util.Collection;
38+
import java.util.Objects;
3239

3340
public class IDEAPomFileHelper {
3441

@@ -49,19 +56,15 @@ public boolean addMavenDependency(final Module module,File pomFile, String group
4956

5057

5158
public static String findNearestModulePomFile(Module module) {
52-
PsiFile[] pomLibFiles = FilenameIndex.getFilesByName(module.getProject(), "pom.xml", GlobalSearchScope.allScope(module.getProject()));
53-
String pomFilePath = null;
54-
for(PsiFile psiPom : pomLibFiles) {
55-
PsiDirectory psiPomParent = psiPom.getParent();
56-
Project project = module.getProject();
57-
if(psiPomParent == null) {
58-
continue;
59-
}
60-
if(psiPomParent.getVirtualFile().getPath().equals(project.getBasePath())) {
61-
pomFilePath = psiPom.getVirtualFile().getPath();
62-
}
59+
Project project = module.getProject();
60+
VirtualFile projectDir = VfsUtil.findRelativeFile(Objects.requireNonNull(project.getBasePath()), project.getWorkspaceFile());
61+
VirtualFile pomFile = VfsUtilCore.findRelativeFile("pom.xml", projectDir);
62+
63+
if (pomFile != null && Objects.equals(project.getBasePath(), pomFile.getParent().getPath())) {
64+
return pomFile.getPath();
6365
}
64-
return pomFilePath;
66+
67+
return null;
6568
}
6669

6770
private void PomAppendDependency(final Module module, final File pomFile, String groupId, String packageId, String version) throws ParserConfigurationException, IOException, SAXException, TransformerException {

src/main/java/net/servicestack/idea/UpdateServiceStackReferenceIntention.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,6 @@ public boolean startInWriteAction() {
5959

6060
@Override
6161
public Icon getIcon(@IconFlags int i) {
62-
return IconLoader.getIcon("/servicestack.svg");
62+
return IconLoader.getIcon("/servicestack.svg",UpdateServiceStackReferenceIntention.class);
6363
}
6464
}

src/main/java/net/servicestack/idea/common/Analytics.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package net.servicestack.idea.common;
22

3+
import com.intellij.openapi.project.Project;
4+
35
import java.io.BufferedReader;
46
import java.io.IOException;
57
import java.io.InputStreamReader;

src/main/java/net/servicestack/idea/common/PluginSettingsConfigurable.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.intellij.openapi.options.ConfigurationException;
44
import com.intellij.openapi.options.SearchableConfigurable;
5+
import com.intellij.openapi.project.ProjectManager;
56
import org.jetbrains.annotations.Nls;
67
import org.jetbrains.annotations.NotNull;
78
import org.jetbrains.annotations.Nullable;

src/main/java/net/servicestack/idea/common/PluginSettingsService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package net.servicestack.idea.common;
22

3+
import com.intellij.openapi.application.ApplicationManager;
34
import com.intellij.openapi.components.PersistentStateComponent;
4-
import com.intellij.openapi.components.ServiceManager;
55
import com.intellij.openapi.components.State;
66
import com.intellij.openapi.components.Storage;
77
import com.intellij.util.xmlb.XmlSerializerUtil;
@@ -27,6 +27,6 @@ public void loadState(@NotNull PluginSettingsService pluginSettingsService) {
2727
}
2828

2929
public static PluginSettingsService getInstance() {
30-
return ServiceManager.getService( PluginSettingsService.class );
30+
return ApplicationManager.getApplication().getService( PluginSettingsService.class );
3131
}
3232
}

0 commit comments

Comments
 (0)