in src/main/java/com/microsoft/jenkins/appservice/commands/FTPDeployCommand.java [42:78]
public void execute(IFTPDeployCommandData context) {
final FilePath workspace = context.getWorkspace();
final PublishingProfile pubProfile = context.getPublishingProfile();
if (workspace == null) {
context.logError("Workspace is null");
context.setDeploymentState(DeploymentState.HasError);
return;
}
String ftpUrl = pubProfile.ftpUrl();
if (ftpUrl.startsWith("ftp://")) {
ftpUrl = ftpUrl.substring("ftp://".length());
}
if (ftpUrl.indexOf("/") > 0) {
int splitIndex = ftpUrl.indexOf("/");
ftpUrl = ftpUrl.substring(0, splitIndex);
}
try {
workspace.act(new FTPDeployCommandOnSlave(
context.getListener(),
ftpUrl,
pubProfile.ftpUsername(),
pubProfile.ftpPassword(),
workspace,
context.getSourceDirectory(),
context.getTargetDirectory(),
context.getFilePath()
));
} catch (IOException | FTPException e) {
context.logError("Fail to deploy to FTP: " + e.getMessage());
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}
}