in deploy-runner-agent-smb2/src/main/java/jetbrains/buildServer/deployer/agent/smb/SMBJBuildProcessAdapter.java [165:184]
private void maybeCreate(@NotNull final DiskShare diskShare, @NotNull final String pathInShare) {
String existingPrefix = FileUtil.normalizeRelativePath(pathInShare).replace('/', '\\');
final Stack<String> toCreate = new Stack<>();
while (existingPrefix.length() > 0 && !diskShare.folderExists(existingPrefix)) {
final int endIndex = existingPrefix.lastIndexOf('\\');
if (endIndex > -1) {
toCreate.push(existingPrefix.substring(endIndex + 1));
existingPrefix = existingPrefix.substring(0, endIndex);
} else {
toCreate.push(existingPrefix);
existingPrefix = "";
}
}
while (!toCreate.empty()) {
existingPrefix = (existingPrefix.length() > 0 ? existingPrefix + "\\" : "") + toCreate.pop();
diskShare.mkdir(existingPrefix);
}
}