in rake-runner-agent/src/jetbrains/buildServer/agent/ruby/rbenv/RbEnvShellRunner.java [29:63]
public ExecResult run(@NotNull final String script,
@NotNull final String workingDirectory,
@Nullable final Map<String, String> environment) {
final File directory = new File(workingDirectory);
File scriptFile = null;
try {
try {
scriptFile = FileUtil.createTempFile(directory, "rbenv", ".sh", true);
FileUtil.writeFileAndReportErrors(scriptFile, script);
} catch (IOException e) {
LOG.error("Failed to create temp file, error: ", e);
final ExecResult result = new ExecResult();
result.setStderr("Failed to create temp file, error: " + e.getMessage());
result.setException(e);
return result;
}
// Patching environment
final HashMap<String, String> environment1 = new HashMap<String, String>();
if (environment != null) {
environment1.putAll(environment);
}
environment1.put(Constants.RBENV_ROOT_ENV_VARIABLE, myRbEnv.getHome().getAbsolutePath());
environment1.put(Constants.RBENV_VERSION_ENV_VARIABLE, getVersion());
return RunnerUtil.run(workingDirectory, environment1, "/bin/sh", scriptFile.getAbsolutePath());
} finally {
try {
if (scriptFile != null) {
FileUtil.delete(scriptFile);
}
} catch (SecurityException ignored) {
}
}
}