in powershell-agent/src/main/java/jetbrains/buildServer/powershell/agent/service/BasePowerShellService.java [140:177]
protected abstract SimpleProgramCommandLine getStdInCommandLine(@NotNull final PowerShellInfo info,
@NotNull final Map<String, String> env,
@NotNull final String workDir,
@NotNull final String command) throws RunBuildException;
protected abstract SimpleProgramCommandLine getFileCommandLine(@NotNull final PowerShellInfo info,
@NotNull final Map<String, String> env,
@NotNull final String workDir,
@NotNull final List<String> args) throws RunBuildException;
protected abstract boolean useExecutionPolicy(@NotNull final PowerShellInfo info);
protected abstract Map<String, String> getEnv(@NotNull final PowerShellInfo info);
@NotNull
@Override
public List<ProcessListener> getListeners() {
final boolean logToError = PropertiesUtil.getBoolean(getRunnerParameters().get(PowerShellConstants.RUNNER_LOG_ERR_TO_ERROR));
final BuildProgressLogger logger = getLogger();
return Collections.singletonList(new ProcessListenerAdapter() {
private final org.apache.log4j.Logger OUT_LOG = org.apache.log4j.Logger.getLogger("teamcity.out");
@Override
public void onStandardOutput(@NotNull final String text) {
logger.message(text);
OUT_LOG.info(text);
}
@Override
public void onErrorOutput(@NotNull final String text) {
if (logToError) {
logger.error(text);
} else {
logger.warning(text);
}
OUT_LOG.warn(text);
}
});
}