diff options
Diffstat (limited to 'plugins/gradle/src')
3 files changed, 17 insertions, 6 deletions
diff --git a/plugins/gradle/src/META-INF/plugin.xml b/plugins/gradle/src/META-INF/plugin.xml index 67ca15f5d679..de6937c18c6c 100644 --- a/plugins/gradle/src/META-INF/plugin.xml +++ b/plugins/gradle/src/META-INF/plugin.xml @@ -83,7 +83,7 @@ <moduleBuilder builderClass="org.jetbrains.plugins.gradle.service.project.wizard.GradleModuleBuilder"/> <internalFileTemplate name="Gradle Build Script"/> <internalFileTemplate name="Gradle Build Script with wrapper"/> - <projectConfigurable id="reference.settingsdialog.project.gradle" + <projectConfigurable groupId="build" id="reference.settingsdialog.project.gradle" instance="org.jetbrains.plugins.gradle.service.settings.GradleConfigurable" key="gradle.name" bundle="i18n.GradleBundle"/> <library.presentationProvider implementation="org.jetbrains.plugins.gradle.config.GradleLibraryPresentationProvider" order="last"/> diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/config/GradleScriptType.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/config/GradleScriptType.java index e7795a0621d2..d17b9fdea764 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/config/GradleScriptType.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/config/GradleScriptType.java @@ -261,9 +261,14 @@ public class GradleScriptType extends GroovyRunnableScriptType { final String scriptPath = configuration.getScriptPath(); if (scriptPath == null) { - throw new CantRunException("Target script is undefined"); + throw new CantRunException("Target script or gradle project path is undefined"); + } + + if(new File(scriptPath).isFile()) { + params.getProgramParametersList().add("--build-file"); + } else { + params.getProgramParametersList().add("--project-dir"); } - params.getProgramParametersList().add("--project-dir"); params.getProgramParametersList().add(FileUtil.toSystemDependentName(scriptPath)); params.getProgramParametersList().addParametersString(configuration.getProgramParameters()); params.getProgramParametersList().addParametersString(scriptParameters); diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/execution/test/runner/TestMethodGradleConfigurationProducer.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/execution/test/runner/TestMethodGradleConfigurationProducer.java index 5993480333e5..f4dec6283300 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/execution/test/runner/TestMethodGradleConfigurationProducer.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/execution/test/runner/TestMethodGradleConfigurationProducer.java @@ -107,7 +107,8 @@ public class TestMethodGradleConfigurationProducer extends RunConfigurationProdu if (!configuration.getSettings().getTaskNames().containsAll(TASKS_TO_RUN)) return false; final String scriptParameters = configuration.getSettings().getScriptParameters() + ' '; - return scriptParameters.contains(String.format("--tests %s.%s ", containingClass.getQualifiedName(), psiMethod.getName())); + final String testFilter = creatTestFilter(containingClass, psiMethod); + return scriptParameters.contains(testFilter); } @Override @@ -163,11 +164,16 @@ public class TestMethodGradleConfigurationProducer extends RunConfigurationProdu StringBuilder buf = new StringBuilder(); for (PsiClass aClass : containingClasses) { - buf.append(String.format("--tests %s.%s ", aClass.getQualifiedName(), psiMethod.getName())); + buf.append(creatTestFilter(aClass, psiMethod)); } - configuration.getSettings().setScriptParameters(buf.toString()); + configuration.getSettings().setScriptParameters(buf.toString().trim()); configuration.setName(psiMethod.getName()); return true; } + + private static String creatTestFilter(@NotNull PsiClass aClass, @NotNull PsiMethod psiMethod) { + String testFilterPattern = aClass.getQualifiedName() + '.' + psiMethod.getName(); + return String.format("--tests \"%s\" ", StringUtil.replaceChar(testFilterPattern, '\"', '*')); + } } |