summaryrefslogtreecommitdiff
path: root/plugins/gradle/src
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/gradle/src')
-rw-r--r--plugins/gradle/src/META-INF/plugin.xml2
-rw-r--r--plugins/gradle/src/org/jetbrains/plugins/gradle/config/GradleScriptType.java9
-rw-r--r--plugins/gradle/src/org/jetbrains/plugins/gradle/execution/test/runner/TestMethodGradleConfigurationProducer.java12
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, '\"', '*'));
+ }
}