mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Merge branch 'failsafe' of https://github.com/diorcety/intellij-community
This commit is contained in:
+25
-17
@@ -52,8 +52,16 @@ public class MavenJUnitPatcher extends JUnitPatcher {
|
||||
if (mavenProject == null) return;
|
||||
|
||||
Element config = mavenProject.getPluginConfiguration("org.apache.maven.plugins", "maven-surefire-plugin");
|
||||
if (config == null) return;
|
||||
if (config != null) {
|
||||
patchJavaParameters(module, javaParameters, mavenProject, "surefire", config);
|
||||
}
|
||||
config = mavenProject.getPluginConfiguration("org.apache.maven.plugins", "maven-failsafe-plugin");
|
||||
if (config != null) {
|
||||
patchJavaParameters(module, javaParameters, mavenProject, "failsafe", config);
|
||||
}
|
||||
}
|
||||
|
||||
private void patchJavaParameters(@Nullable Module module, JavaParameters javaParameters, MavenProject mavenProject, String plugin, Element config) {
|
||||
MavenDomProjectModel domModel = MavenDomUtil.getMavenDomProjectModel(module.getProject(), mavenProject.getFile());
|
||||
|
||||
MavenTestRunningSettings testRunningSettings = MavenProjectSettings.getInstance(module.getProject()).getTestRunningSettings();
|
||||
@@ -62,20 +70,20 @@ public class MavenJUnitPatcher extends JUnitPatcher {
|
||||
|
||||
if (paths.size() > 0) {
|
||||
for (String path : paths) {
|
||||
javaParameters.getClassPath().add(resolveSurefireProperties(path, domModel));
|
||||
javaParameters.getClassPath().add(resolvePluginProperties(plugin, path, domModel));
|
||||
}
|
||||
}
|
||||
|
||||
if (testRunningSettings.isPassSystemProperties() && isEnabled("systemPropertyVariables")) {
|
||||
if (testRunningSettings.isPassSystemProperties() && isEnabled(plugin, "systemPropertyVariables")) {
|
||||
Element systemPropertyVariables = config.getChild("systemPropertyVariables");
|
||||
if (systemPropertyVariables != null) {
|
||||
for (Element element : systemPropertyVariables.getChildren()) {
|
||||
String propertyName = element.getName();
|
||||
|
||||
if (!javaParameters.getVMParametersList().hasProperty(propertyName)) {
|
||||
String value = resolveSurefireProperties(element.getValue(), domModel);
|
||||
String value = resolvePluginProperties(plugin, element.getValue(), domModel);
|
||||
value = resolveVmProperties(javaParameters.getVMParametersList(), value);
|
||||
if (isResolved(value)) {
|
||||
if (isResolved(plugin, value)) {
|
||||
javaParameters.getVMParametersList().addProperty(propertyName, value);
|
||||
}
|
||||
}
|
||||
@@ -83,16 +91,16 @@ public class MavenJUnitPatcher extends JUnitPatcher {
|
||||
}
|
||||
}
|
||||
|
||||
if (testRunningSettings.isPassEnvironmentVariables() && isEnabled("environmentVariables")) {
|
||||
if (testRunningSettings.isPassEnvironmentVariables() && isEnabled(plugin, "environmentVariables")) {
|
||||
Element environmentVariables = config.getChild("environmentVariables");
|
||||
if (environmentVariables != null) {
|
||||
for (Element element : environmentVariables.getChildren()) {
|
||||
String variableName = element.getName();
|
||||
|
||||
if (!javaParameters.getEnv().containsKey(variableName)) {
|
||||
String value = resolveSurefireProperties(element.getValue(), domModel);
|
||||
String value = resolvePluginProperties(plugin, element.getValue(), domModel);
|
||||
value = resolveVmProperties(javaParameters.getVMParametersList(), value);
|
||||
if (isResolved(value)) {
|
||||
if (isResolved(plugin, value)) {
|
||||
javaParameters.addEnv(variableName, value);
|
||||
}
|
||||
}
|
||||
@@ -100,23 +108,23 @@ public class MavenJUnitPatcher extends JUnitPatcher {
|
||||
}
|
||||
}
|
||||
|
||||
if (testRunningSettings.isPassArgLine() && isEnabled("argLine")) {
|
||||
if (testRunningSettings.isPassArgLine() && isEnabled(plugin, "argLine")) {
|
||||
Element argLine = config.getChild("argLine");
|
||||
if (argLine != null) {
|
||||
String value = resolveSurefireProperties(argLine.getTextTrim(), domModel);
|
||||
String value = resolvePluginProperties(plugin, argLine.getTextTrim(), domModel);
|
||||
value = resolveVmProperties(javaParameters.getVMParametersList(), value);
|
||||
if (StringUtil.isNotEmpty(value) && isResolved(value)) {
|
||||
if (StringUtil.isNotEmpty(value) && isResolved(plugin, value)) {
|
||||
javaParameters.getVMParametersList().addParametersString(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static String resolveSurefireProperties(@NotNull String value, @Nullable MavenDomProjectModel domModel) {
|
||||
private static String resolvePluginProperties(@NotNull String plugin, @NotNull String value, @Nullable MavenDomProjectModel domModel) {
|
||||
if (domModel != null) {
|
||||
value = MavenPropertyResolver.resolve(value, domModel);
|
||||
}
|
||||
return value.replaceAll("\\$\\{surefire\\.(forkNumber|threadNumber)\\}", "1");
|
||||
return value.replaceAll("\\$\\{" + plugin + "\\.(forkNumber|threadNumber)\\}", "1");
|
||||
}
|
||||
|
||||
private static String resolveVmProperties(@NotNull ParametersList vmParameters, @NotNull String value) {
|
||||
@@ -135,11 +143,11 @@ public class MavenJUnitPatcher extends JUnitPatcher {
|
||||
return value;
|
||||
}
|
||||
|
||||
private static boolean isEnabled(String s) {
|
||||
return !Boolean.valueOf(System.getProperty("idea.maven.surefire.disable." + s));
|
||||
private static boolean isEnabled(String plugin, String s) {
|
||||
return !Boolean.valueOf(System.getProperty("idea.maven." + plugin + ".disable." + s));
|
||||
}
|
||||
|
||||
private static boolean isResolved(String s) {
|
||||
return !s.contains("${") || Boolean.valueOf(System.getProperty("idea.maven.surefire.allPropertiesAreResolved"));
|
||||
private static boolean isResolved(String plugin, String s) {
|
||||
return !s.contains("${") || Boolean.valueOf(System.getProperty("idea.maven." + plugin + ".allPropertiesAreResolved"));
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@
|
||||
<grid row="0" column="0" row-span="1" col-span="5" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
|
||||
</constraints>
|
||||
<properties>
|
||||
<text value="<html>Pass to JUnit process following <b>maven-surefire-plugin</b> settings:</html>"/>
|
||||
<text value="<html>Pass to JUnit process following <b>maven-surefire-plugin</b> and <b>maven-failsafe-plugin</b> settings:</html>"/>
|
||||
</properties>
|
||||
</component>
|
||||
<component id="928c4" class="com.intellij.ui.components.JBCheckBox" binding="myPassSystemPropertiesCB">
|
||||
|
||||
Reference in New Issue
Block a user