Skip to content

Commit

Permalink
Compatibility fixes for IntelliJ 14, fixes #19
Browse files Browse the repository at this point in the history
  • Loading branch information
cholick committed Jul 5, 2014
1 parent 62927e9 commit 5284205
Show file tree
Hide file tree
Showing 28 changed files with 185 additions and 73 deletions.
1 change: 1 addition & 0 deletions .idea/codeStyleSettings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 1 addition & 3 deletions .idea/copyright/profiles_settings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 1 addition & 5 deletions .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions .idea/libraries/groovy_plugin_13.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions .idea/libraries/groovy_plugin_14.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions .idea/libraries/properties_plugin_13.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions .idea/libraries/properties_plugin_14.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .idea/runConfigurations/Spock_enhancements.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion META-INF/plugin.xml
Expand Up @@ -13,7 +13,7 @@
</ul>
]]>
</description>
<version>0.8</version>
<version>0.9</version>
<vendor>Matt Cholick</vendor>

<depends>org.intellij.groovy</depends>
Expand Down
10 changes: 6 additions & 4 deletions README.md
Expand Up @@ -24,8 +24,10 @@ Visit http://www.jetbrains.org/display/IJOS/Writing+Plug-ins for instructions on
* **idea_sdk** For library paths. Set to a current IntelliJ installation path (e.g. ```/Applications/IntelliJ IDEA 12 CE.app```)
* **idea_sdk_11** For intelij-adapter-11 library paths. Set to IntelliJ 11 installation. (e.g. ```/Applications/IntelliJ IDEA 11.1 CE.app```)
* **idea_sdk_12** For intelij-adapter-12 library paths. Set to IntelliJ 12 installation. (e.g. ```/Applications/IntelliJ IDEA 12 CE.app```)
* **idea_sdk_12** For intelij-adapter-13 library paths. Set to IntelliJ 13 installation. (e.g. ```/Applications/Cardea-IU-132.556.app```)
* **idea_sdk_13** For intelij-adapter-13 library paths. Set to IntelliJ 13 installation. (e.g. ```/Applications/IntelliJ IDEA 13 CE.app```)
* **idea_sdk_14** For intelij-adapter-14 library paths. Set to IntelliJ 14 installation. (e.g. ```/Applications/IntelliJ IDEA 14 CE EAP.app/Contents```)
* **idea_sdk_name** Used as project sdk. Set to a configured current sdk (e.g. ```IDEA IC-123.169```)
* **idea_sdk_name** intelij-adapter-11 module sdk. Set to a configured IntelliJ 11 sdk (e.g. ```IDEA IC-117.1054```)
* **idea_sdk_name** intelij-adapter-12 module sdk. Set to a configured IntelliJ 12 sdk (e.g. ```IDEA IC-123.169```)
* **idea_sdk_name** intelij-adapter-13 module sdk. Set to a configured IntelliJ 13 sdk (e.g. ```IDEA IU-132.556```)
* **idea_sdk_name_11** intelij-adapter-11 module sdk. Set to a configured IntelliJ 11 sdk (e.g. ```IDEA IC-117.1054```)
* **idea_sdk_name_12** intelij-adapter-12 module sdk. Set to a configured IntelliJ 12 sdk (e.g. ```IDEA IC-123.169```)
* **idea_sdk_name_13** intelij-adapter-13 module sdk. Set to a configured IntelliJ 13 sdk (e.g. ```IDEA IC-133.696```)
* **idea_sdk_name_14** intelij-adapter-14 module sdk. Set to a configured IntelliJ 14 sdk (e.g. ```IDEA IC-138.777```)
7 changes: 4 additions & 3 deletions idea-spock-enhancements.iml
Expand Up @@ -8,15 +8,16 @@
<sourceFolder url="file://$MODULE_DIR$/src/test" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/resources" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="jdk" jdkName="$idea_sdk_name_13$" jdkType="IDEA JDK" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" scope="PROVIDED" name="groovy-1.8.9" level="application" />
<orderEntry type="module" module-name="intellij-adapter-api" />
<orderEntry type="module" module-name="intellij-adapter-11" />
<orderEntry type="module" module-name="intellij-adapter-12" />
<orderEntry type="module" module-name="intellij-adapter-13" />
<orderEntry type="library" scope="PROVIDED" name="groovy_plugin" level="project" />
<orderEntry type="library" name="properties_plugin" level="project" />
<orderEntry type="module" module-name="intellij-adapter-14" />
<orderEntry type="library" scope="PROVIDED" name="groovy_plugin_13" level="project" />
<orderEntry type="library" scope="PROVIDED" name="properties_plugin_13" level="project" />
</component>
</module>

4 changes: 2 additions & 2 deletions intellij-adapter-11/intellij-adapter-11.iml
Expand Up @@ -7,6 +7,8 @@
</content>
<orderEntry type="jdk" jdkName="$idea_sdk_name_11$" jdkType="IDEA JDK" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module" module-name="intellij-adapter-api" />
<orderEntry type="library" scope="PROVIDED" name="groovy-1.8.9" level="application" />
<orderEntry type="module-library" scope="PROVIDED">
<library name="groovy_plugin">
<CLASSES>
Expand All @@ -17,8 +19,6 @@
<jarDirectory url="file://$idea_sdk_11$/plugins/Groovy/lib" recursive="false" />
</library>
</orderEntry>
<orderEntry type="library" scope="PROVIDED" name="groovy-1.8.9" level="application" />
<orderEntry type="module" module-name="intellij-adapter-api" />
</component>
</module>

@@ -0,0 +1,12 @@
package com.cholick.idea.spock

import com.intellij.lang.Language
import org.jetbrains.plugins.groovy.GroovyFileType

public class LanguageLookup11 extends LanguageLookup {

Language groovy() {
return GroovyFileType.GROOVY_LANGUAGE;
}

}
10 changes: 5 additions & 5 deletions intellij-adapter-12/intellij-adapter-12.iml
Expand Up @@ -5,20 +5,20 @@
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="jdk" jdkName="$idea_sdk_name_12$" jdkType="IDEA JDK" />
<orderEntry type="jdk" jdkName="$idea_sdk_name$" jdkType="IDEA JDK" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module" module-name="intellij-adapter-api" />
<orderEntry type="library" scope="PROVIDED" name="groovy-1.8.9" level="application" />
<orderEntry type="module-library" scope="PROVIDED">
<library name="groovy_plugin">
<CLASSES>
<root url="file://$idea_sdk_12$/plugins/Groovy/lib" />
<root url="file://$idea_sdk$/plugins/Groovy/lib" />
</CLASSES>
<JAVADOC />
<SOURCES />
<jarDirectory url="file://$idea_sdk_12$/plugins/Groovy/lib" recursive="false" />
<jarDirectory url="file://$idea_sdk$/plugins/Groovy/lib" recursive="false" />
</library>
</orderEntry>
<orderEntry type="library" scope="PROVIDED" name="groovy-1.8.9" level="application" />
<orderEntry type="module" module-name="intellij-adapter-api" />
</component>
</module>

4 changes: 2 additions & 2 deletions intellij-adapter-13/intellij-adapter-13.iml
Expand Up @@ -7,6 +7,8 @@
</content>
<orderEntry type="jdk" jdkName="$idea_sdk_name_13$" jdkType="IDEA JDK" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module" module-name="intellij-adapter-api" />
<orderEntry type="library" scope="PROVIDED" name="groovy-1.8.9" level="application" />
<orderEntry type="module-library" scope="PROVIDED">
<library name="groovy_plugin">
<CLASSES>
Expand All @@ -17,8 +19,6 @@
<jarDirectory url="file://$idea_sdk_13$/plugins/Groovy/lib" recursive="false" />
</library>
</orderEntry>
<orderEntry type="library" scope="PROVIDED" name="groovy-1.8.9" level="application" />
<orderEntry type="module" module-name="intellij-adapter-api" />
</component>
</module>

24 changes: 24 additions & 0 deletions intellij-adapter-14/intellij-adapter-14.iml
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="jdk" jdkName="$idea_sdk_name_14$" jdkType="IDEA JDK" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module" module-name="intellij-adapter-api" />
<orderEntry type="library" scope="PROVIDED" name="groovy-1.8.9" level="application" />
<orderEntry type="module-library" scope="PROVIDED">
<library name="groovy_plugin">
<CLASSES>
<root url="file://$idea_sdk_14$/plugins/Groovy/lib" />
</CLASSES>
<JAVADOC />
<SOURCES />
<jarDirectory url="file://$idea_sdk_14$/plugins/Groovy/lib" recursive="false" />
</library>
</orderEntry>
</component>
</module>

@@ -0,0 +1,12 @@
package com.cholick.idea.spock

import com.intellij.lang.Language
import org.jetbrains.plugins.groovy.GroovyLanguage;

class LanguageLookup14 extends LanguageLookup {

Language groovy() {
return GroovyLanguage.INSTANCE;
}

}
3 changes: 1 addition & 2 deletions intellij-adapter-api/intellij-adapter-api.iml
Expand Up @@ -5,7 +5,7 @@
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="jdk" jdkName="$idea_sdk_name_13$" jdkType="IDEA JDK" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module-library" scope="PROVIDED">
<library name="groovy_plugin">
Expand All @@ -17,7 +17,6 @@
<jarDirectory url="file://$idea_sdk_13$/plugins/Groovy/lib" recursive="false" />
</library>
</orderEntry>
<orderEntry type="library" scope="PROVIDED" name="groovy-1.8.9" level="application" />
</component>
</module>

Expand Up @@ -2,7 +2,7 @@

import com.intellij.openapi.components.ServiceManager;

import javax.swing.*;
import javax.swing.Icon;

public abstract class GroovyIcons {

Expand Down

This file was deleted.

@@ -0,0 +1,19 @@
package com.cholick.idea.spock;

import com.intellij.codeInsight.daemon.impl.HighlightInfo;
import com.intellij.codeInsight.daemon.impl.HighlightInfoType;
import com.intellij.openapi.components.ServiceManager;
import com.intellij.openapi.editor.markup.TextAttributes;
import com.intellij.psi.PsiElement;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

public abstract class HighlightInfoFactory {

public static HighlightInfoFactory getInstance() {
return ServiceManager.getService(HighlightInfoFactory.class);
}

public abstract HighlightInfo createHighlightInfo(@NotNull HighlightInfoType type, @NotNull PsiElement element, @Nullable String message, @Nullable TextAttributes attributes);

}
@@ -0,0 +1,14 @@
package com.cholick.idea.spock;

import com.intellij.lang.Language;
import com.intellij.openapi.components.ServiceManager;

public abstract class LanguageLookup {

public static LanguageLookup getInstance() {
return ServiceManager.getService(LanguageLookup.class);
}

public abstract Language groovy();

}
22 changes: 20 additions & 2 deletions src/main/com/cholick/idea/spock/adapter/SpockPluginLoader.java
Expand Up @@ -9,6 +9,9 @@
import com.cholick.idea.spock.HighlightInfoFactory;
import com.cholick.idea.spock.HighlightInfoFactory11;
import com.cholick.idea.spock.HighlightInfoFactory13;
import com.cholick.idea.spock.LanguageLookup;
import com.cholick.idea.spock.LanguageLookup11;
import com.cholick.idea.spock.LanguageLookup14;
import com.intellij.openapi.application.ApplicationInfo;
import com.intellij.openapi.components.ApplicationComponent;
import com.intellij.openapi.components.impl.ComponentManagerImpl;
Expand All @@ -29,6 +32,7 @@ public void initComponent() {
registerGroovyIcons(picoContainer);
registerHighlightInfoFactory(picoContainer);
registerGrLabeledStatementAdapter(picoContainer);
registerLanguageLookup(picoContainer);
}

@Override
Expand Down Expand Up @@ -65,9 +69,19 @@ private void registerGrLabeledStatementAdapter(MutablePicoContainer picoContaine
}
}

private void registerLanguageLookup(MutablePicoContainer picoContainer) {
if(isAtLeast14()) {
picoContainer.registerComponentInstance(LanguageLookup.class.getName(), new LanguageLookup14());
} else {
picoContainer.registerComponentInstance(LanguageLookup.class.getName(), new LanguageLookup11());
}
}

private IntelliJVersion getVersion() {
int version = ApplicationInfo.getInstance().getBuild().getBaselineVersion();
if (version >= 130) {
if (version >= 138) {
return IntelliJVersion.V14;
} else if (version >= 130) {
return IntelliJVersion.V13;
} else if (version >= 120) {
return IntelliJVersion.V12;
Expand All @@ -83,8 +97,12 @@ private boolean isAtLeast13() {
return getVersion().compareTo(IntelliJVersion.V13) >= 0;
}

private boolean isAtLeast14() {
return getVersion().compareTo(IntelliJVersion.V14) >= 0;
}

enum IntelliJVersion {
V11, V12, V13
V11, V12, V13, V14
}

}

0 comments on commit 5284205

Please sign in to comment.