From 9e5dc09dc9f917fb9c43c554c85cb380da12590f Mon Sep 17 00:00:00 2001 From: "Vladislav.Soroka" Date: Tue, 10 Feb 2015 17:19:22 +0300 Subject: [PATCH] gradle: fix upward compatibility for groovy gradle plugins --- .../BaseGradleProjectResolverExtension.java | 4 +++- .../importing/GradleImportingTestCase.java | 17 +++-------------- 2 files changed, 6 insertions(+), 15 deletions(-) diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/BaseGradleProjectResolverExtension.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/BaseGradleProjectResolverExtension.java index a538babfa138..7de88fe936da 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/BaseGradleProjectResolverExtension.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/BaseGradleProjectResolverExtension.java @@ -42,6 +42,7 @@ import com.intellij.util.containers.ContainerUtilRt; import com.intellij.util.net.HttpConfigurable; import com.intellij.util.text.CharArrayUtil; import groovy.lang.GroovyObject; +import org.codehaus.groovy.runtime.typehandling.ShortTypeHandling; import org.gradle.tooling.ProjectConnection; import org.gradle.tooling.model.DomainObjectSet; import org.gradle.tooling.model.GradleModuleVersion; @@ -382,7 +383,8 @@ public class BaseGradleProjectResolverExtension implements GradleProjectResolver ProjectImportAction.class, // gradle-tooling-extension-impl jar ModelBuildScriptClasspathBuilderImpl.class, - GsonBuilder.class + GsonBuilder.class, + ShortTypeHandling.class ); } diff --git a/plugins/gradle/testSources/org/jetbrains/plugins/gradle/importing/GradleImportingTestCase.java b/plugins/gradle/testSources/org/jetbrains/plugins/gradle/importing/GradleImportingTestCase.java index 6cd21373c189..4878e88d007f 100644 --- a/plugins/gradle/testSources/org/jetbrains/plugins/gradle/importing/GradleImportingTestCase.java +++ b/plugins/gradle/testSources/org/jetbrains/plugins/gradle/importing/GradleImportingTestCase.java @@ -21,18 +21,16 @@ import com.intellij.openapi.application.Result; import com.intellij.openapi.application.WriteAction; import com.intellij.openapi.externalSystem.model.ProjectSystemId; import com.intellij.openapi.externalSystem.model.settings.ExternalSystemExecutionSettings; -import com.intellij.openapi.externalSystem.service.execution.ExternalSystemJdkUtil; import com.intellij.openapi.externalSystem.settings.ExternalProjectSettings; import com.intellij.openapi.externalSystem.settings.ExternalSystemSettingsListenerAdapter; import com.intellij.openapi.externalSystem.test.ExternalSystemImportingTestCase; import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil; -import com.intellij.openapi.projectRoots.Sdk; import com.intellij.openapi.ui.Messages; import com.intellij.openapi.ui.TestDialog; -import com.intellij.openapi.util.Pair; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.util.PathUtil; import com.intellij.util.containers.ContainerUtil; import org.gradle.util.GradleVersion; import org.gradle.wrapper.GradleWrapperMain; @@ -189,17 +187,8 @@ public abstract class GradleImportingTestCase extends ExternalSystemImportingTes createProjectSubFile("gradle/wrapper/gradle-wrapper.properties", writer.toString()); } + @NotNull private static File wrapperJar() { - URI location; - try { - location = GradleWrapperMain.class.getProtectionDomain().getCodeSource().getLocation().toURI(); - } - catch (URISyntaxException e) { - throw new RuntimeException(e); - } - if (!location.getScheme().equals("file")) { - throw new RuntimeException(String.format("Cannot determine classpath for wrapper JAR from codebase '%s'.", location)); - } - return new File(location.getPath()); + return new File(PathUtil.getJarPathForClass(GradleWrapperMain.class)); } }