Skip to content

Commit d1ed390

Browse files
committed
feat: add idea version
1 parent a70a329 commit d1ed390

File tree

8 files changed

+30
-11
lines changed

8 files changed

+30
-11
lines changed

build.gradle

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,9 @@ dependencies {
2222

2323
// See https://github.com/JetBrains/gradle-intellij-plugin/
2424
intellij {
25-
version '2020.3.1'
25+
version '2020.1'
2626
plugins = ['com.intellij.java']
27+
updateSinceUntilBuild false
2728
}
2829
patchPluginXml {
2930
changeNotes = """

src/main/java/io/github/linyimin/plugin/compile/MybatisPojoCompile.java

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,26 @@ private static void attachPluginParentLoader(UrlClassLoader classLoader) {
9595

9696
Class<? extends PluginClassLoader> pluginClassLoaderClass = pluginClassLoader.getClass();
9797

98+
Field field = null;
99+
100+
try {
101+
field = pluginClassLoaderClass.getDeclaredField(Constant.PLUGIN_CLASS_LOADER_PARENTS);
102+
} catch (NoSuchFieldException e) {
103+
e.printStackTrace();
104+
}
105+
106+
try {
107+
field = pluginClassLoaderClass.getDeclaredField(Constant.PLUGIN_CLASS_LOADER_MY_PARENTS);
108+
} catch (NoSuchFieldException e) {
109+
e.printStackTrace();
110+
}
111+
112+
if (Objects.isNull(field)) {
113+
Messages.showInfoMessage("Unsupported this version", Constant.APPLICATION_NAME);
114+
return;
115+
}
116+
98117
try {
99-
Field field = pluginClassLoaderClass.getDeclaredField(Constant.PLUGIN_CLASS_LOADER_PARENTS);
100118
field.setAccessible(true);
101119

102120
ClassLoader[] parents = (ClassLoader[]) field.get(pluginClassLoader);
@@ -109,8 +127,7 @@ private static void attachPluginParentLoader(UrlClassLoader classLoader) {
109127
System.arraycopy(parents, 0, newParents, 0, parents.length);
110128
field.set(pluginClassLoader, newParents);
111129
}
112-
113-
} catch (NoSuchFieldException | IllegalAccessException e) {
130+
} catch (IllegalAccessException e) {
114131
e.printStackTrace();
115132
}
116133

src/main/java/io/github/linyimin/plugin/dom/Constant.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ public class Constant {
2929

3030
public static final String DATABASE_URL_TEMPLATE = "jdbc:mysql://%s:%s/%s";
3131

32+
public static final String PLUGIN_CLASS_LOADER_MY_PARENTS = "myParents";
3233
public static final String PLUGIN_CLASS_LOADER_PARENTS = "parents";
3334

3435
public static final String MYBATIS_LOGGING_SLF4J = "slf4j";

src/main/java/io/github/linyimin/plugin/provider/generate/MapperInterfaceGenerateSqlLineMakerProvider.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,7 @@ public LineMarkerInfo<?> getLineMarkerInfo(@NotNull PsiElement element) {
3939
IconUtils.GENERATE_ICON,
4040
tooltip,
4141
new SqlGenerateNavigationHandler(),
42-
GutterIconRenderer.Alignment.CENTER,
43-
() -> "mybatis-sql-viewer");
42+
GutterIconRenderer.Alignment.CENTER);
4443
}
4544

4645
}

src/main/java/io/github/linyimin/plugin/provider/generate/MapperXmlGenerateSqlLineMakerProvider.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ public LineMarkerInfo<?> getLineMarkerInfo(@NotNull PsiElement element) {
4646
IconUtils.GENERATE_ICON,
4747
tooltip,
4848
new SqlGenerateNavigationHandler(),
49-
GutterIconRenderer.Alignment.CENTER,
50-
() -> "mybatis-sql-viewer");
49+
GutterIconRenderer.Alignment.CENTER);
5150
}
5251
}

src/main/java/io/github/linyimin/plugin/provider/jump/MapperInterfaceJumpLineMakerProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
public class MapperInterfaceJumpLineMakerProvider extends RelatedItemLineMarkerProvider {
2525

2626
@Override
27-
protected void collectNavigationMarkers(@NotNull PsiElement element, @NotNull Collection<? super RelatedItemLineMarkerInfo<?>> result) {
27+
protected void collectNavigationMarkers(@NotNull PsiElement element, @NotNull Collection<? super RelatedItemLineMarkerInfo> result) {
2828

2929
// 只处理Mapper接口中的内容
3030
if (!JavaUtils.isElementWithinMapperInterface(element)) {

src/main/java/io/github/linyimin/plugin/provider/jump/MapperXmlJumpLineMakerProvider.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import com.intellij.psi.PsiClass;
88
import com.intellij.psi.PsiElement;
99
import com.intellij.psi.PsiMethod;
10-
import com.intellij.psi.xml.XmlTag;
1110
import com.intellij.psi.xml.XmlToken;
1211
import com.intellij.psi.xml.XmlTokenType;
1312
import io.github.linyimin.plugin.provider.MapperXmlProcessor;
@@ -29,7 +28,7 @@
2928
public class MapperXmlJumpLineMakerProvider extends RelatedItemLineMarkerProvider {
3029

3130
@Override
32-
protected void collectNavigationMarkers(@NotNull PsiElement element, @NotNull Collection<? super RelatedItemLineMarkerInfo<?>> result) {
31+
protected void collectNavigationMarkers(@NotNull PsiElement element, @NotNull Collection<? super RelatedItemLineMarkerInfo> result) {
3332

3433
// 避免LineMarker is supposed to be registered for leaf elements only, but got: XmlTag:select Warning
3534
if (!(element instanceof XmlToken) || ((XmlToken)element).getTokenType() != XmlTokenType.XML_START_TAG_START) {

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
<name>Mybatis Sql Viewer</name>
44
<vendor email="linyimin520812@gmail.com" url="https://github.com/linyimin-bupt">linyimin</vendor>
55

6+
7+
<idea-version since-build="IU-201" />
8+
69
<description><![CDATA[
710
将mapper文件中的xml语句转换成sql语句,支持参数mock,sql复制,执行
811
]]></description>

0 commit comments

Comments
 (0)