in deploy-runner-server/src/main/java/jetbrains/buildServer/deployer/server/converter/DeployerSettingsConverter.java [34:112]
public void buildTypeRegistered(@NotNull SBuildType buildType) {
boolean persistBuildType = false;
for (SBuildRunnerDescriptor descriptor : buildType.getBuildRunners()) {
boolean runnerUpdated = false;
final String runnerType = descriptor.getType();
final Map<String, String> newRunnerParams = new HashMap<String, String>(descriptor.getParameters());
final String plainPassword = newRunnerParams.get(DeployerRunnerConstants.PARAM_PLAIN_PASSWORD);
if (plainPassword != null) {
runnerUpdated = true;
Loggers.SERVER.debug("Scrambling password for runner [" + runnerType + "-" + descriptor.getName() + "] in [" + buildType.getName() + "]");
newRunnerParams.remove(DeployerRunnerConstants.PARAM_PLAIN_PASSWORD);
newRunnerParams.put(DeployerRunnerConstants.PARAM_PASSWORD, plainPassword);
}
if (DeployerRunnerConstants.SSH_RUN_TYPE.equals(runnerType) ||
SSHRunnerConstants.SSH_EXEC_RUN_TYPE.equals(runnerType)) {
final String sshAuthMethod = newRunnerParams.get(SSHRunnerConstants.PARAM_AUTH_METHOD);
if (StringUtil.isEmpty(sshAuthMethod)) {
runnerUpdated = true;
Loggers.SERVER.debug("Setting default (username password) ssh authentication method for runner [" + runnerType + "-" + descriptor.getName() + "] in [" + buildType.getName() + "]");
newRunnerParams.put(SSHRunnerConstants.PARAM_AUTH_METHOD, SSHRunnerConstants.AUTH_METHOD_USERNAME_PWD);
}
if (SSHRunnerConstants.SSH_EXEC_RUN_TYPE.equals(runnerType)) {
final String oldUsername = newRunnerParams.get(SSHRunnerConstants.PARAM_USERNAME);
final String oldPassword = newRunnerParams.get(SSHRunnerConstants.PARAM_PASSWORD);
final String oldHost = newRunnerParams.get(SSHRunnerConstants.PARAM_HOST);
if (StringUtil.isNotEmpty(oldUsername)) {
runnerUpdated = true;
newRunnerParams.remove(SSHRunnerConstants.PARAM_USERNAME);
newRunnerParams.put(DeployerRunnerConstants.PARAM_USERNAME, oldUsername);
}
if (StringUtil.isNotEmpty(oldPassword)) {
runnerUpdated = true;
newRunnerParams.remove(SSHRunnerConstants.PARAM_PASSWORD);
newRunnerParams.put(DeployerRunnerConstants.PARAM_PASSWORD, oldPassword);
}
if (StringUtil.isNotEmpty(oldHost)) {
runnerUpdated = true;
newRunnerParams.remove(SSHRunnerConstants.PARAM_HOST);
newRunnerParams.put(DeployerRunnerConstants.PARAM_TARGET_URL, oldHost);
}
}
}
if (DeployerRunnerConstants.FTP_RUN_TYPE.equals(runnerType)) {
final String ftpAuthMethod = newRunnerParams.get(FTPRunnerConstants.PARAM_AUTH_METHOD);
if (StringUtil.isEmpty(ftpAuthMethod)) {
runnerUpdated = true;
Loggers.SERVER.debug("Setting ftp auth authentication method for runner [" + runnerType + "-" + descriptor.getName() + "] in [" + buildType.getName() + "]");
final String username = newRunnerParams.get(DeployerRunnerConstants.PARAM_USERNAME);
if (StringUtil.isEmpty(username)) {
newRunnerParams.put(FTPRunnerConstants.PARAM_AUTH_METHOD, FTPRunnerConstants.AUTH_METHOD_ANONYMOUS);
} else {
newRunnerParams.put(FTPRunnerConstants.PARAM_AUTH_METHOD, FTPRunnerConstants.AUTH_METHOD_USER_PWD);
}
}
}
if (DeployerRunnerConstants.SMB_RUN_TYPE.equals(runnerType)) {
final String domain = newRunnerParams.get(DeployerRunnerConstants.PARAM_DOMAIN);
if (StringUtil.isNotEmpty(domain)) {
runnerUpdated = true;
newRunnerParams.remove(DeployerRunnerConstants.PARAM_DOMAIN);
final String username = newRunnerParams.get(DeployerRunnerConstants.PARAM_USERNAME);
newRunnerParams.put(DeployerRunnerConstants.PARAM_USERNAME, domain + "\\" + username);
}
}
if (runnerUpdated) {
persistBuildType = true;
buildType.updateBuildRunner(descriptor.getId(), descriptor.getName(), runnerType, newRunnerParams);
}
}
if (persistBuildType) {
buildType.persist();
}
}