in powershell-server/src/main/java/jetbrains/buildServer/powershell/server/PowerShellRunType.java [56:86]
public PropertiesProcessor getRunnerPropertiesProcessor() {
return properties -> {
Collection<InvalidProperty> col = new ArrayList<>();
final PowerShellExecutionMode exe = PowerShellExecutionMode.fromString(properties.get(RUNNER_EXECUTION_MODE));
if (exe == null) {
col.add(new InvalidProperty(RUNNER_EXECUTION_MODE, "Execution mode must be specified"));
}
final PowerShellScriptMode mod = getScriptMode(properties);
if (mod == null) {
col.add(new InvalidProperty(RUNNER_SCRIPT_MODE, "Script mode is not defined"));
} else {
switch (mod) {
case FILE:
final String script = properties.get(RUNNER_SCRIPT_FILE);
if (StringUtil.isEmptyOrSpaces(script)) {
col.add(new InvalidProperty(RUNNER_SCRIPT_FILE, "Script file is not defined"));
} else if (!ReferencesResolverUtil.containsReference(script) && !script.toLowerCase().endsWith(".ps1")) {
col.add(new InvalidProperty(RUNNER_SCRIPT_FILE, "PowerShell requires script files to have .ps1 extension"));
}
break;
case CODE:
if (StringUtil.isEmptyOrSpaces(properties.get(RUNNER_SCRIPT_CODE))) {
col.add(new InvalidProperty(RUNNER_SCRIPT_CODE, "Code should not be empty"));
}
break;
}
}
return col;
};
}