protected abstract SimpleProgramCommandLine getStdInCommandLine()

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);
      }
    });
  }