private void addBuildParamsListener()

in rake-runner-test/src/jetbrains/slow/plugins/rakerunner/RubyEnvConfiguratorServiceAgentTest.java [546:573]


  private void addBuildParamsListener(@Nullable final Ref<Map<String, String>> envParamsRef,
                                      @Nullable final Ref<Map<String, String>> sysPropertiesRef,
                                      @Nullable final Ref<Map<String, String>> allParamsRef,
                                      @Nullable final Ref<BuildRunnerContext> contextRef) {
    getAgentEvents().addListener(new AgentLifeCycleAdapter() {
      @Override
      public void beforeRunnerStart(@NotNull final BuildRunnerContext runner) {
        if (contextRef != null) {
          contextRef.set(runner);
        }
      }

      @Override
      public void runnerFinished(@NotNull final BuildRunnerContext runner, @NotNull final BuildFinishedStatus status) {
        final BuildParametersMap buildParameters = runner.getBuildParameters();

        if (allParamsRef != null) {
          allParamsRef.set(new HashMap<String, String>(buildParameters.getAllParameters()));
        }
        if (envParamsRef != null) {
          envParamsRef.set(new HashMap<String, String>(buildParameters.getEnvironmentVariables()));
        }
        if (sysPropertiesRef != null) {
          sysPropertiesRef.set(new HashMap<String, String>(buildParameters.getSystemProperties()));
        }
      }
    });
  }