Files
VisualSapfor/src/_VisualDVM/Passes/All/DownloadRepository.java

42 lines
1.3 KiB
Java
Raw Normal View History

2024-10-14 12:14:01 +03:00
package _VisualDVM.Passes.All;
import Common.CommonConstants;
2024-10-09 22:01:19 +03:00
import _VisualDVM.Constants;
import _VisualDVM.Global;
2024-10-14 12:14:01 +03:00
import _VisualDVM.Passes.ProcessPass;
2024-10-14 15:19:13 +03:00
import _VisualDVM.Utils;
2023-09-17 22:13:42 +03:00
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.nio.file.Paths;
public class DownloadRepository extends ProcessPass {
File sapforHome;
@Override
2025-02-15 23:30:48 +03:00
public String getDescription() {
return "Загрузка репозитория";
}
@Override
2023-09-17 22:13:42 +03:00
protected boolean canStart(Object... args) throws Exception {
sapforHome = Paths.get(Global.RepoDirectory.getAbsolutePath(),
"SAPFOR").toFile();
2023-09-17 22:13:42 +03:00
return true;
}
private void synchronize(String src, File dst) throws Exception {
File loadedFile = Paths.get(dst.getAbsolutePath(), CommonConstants.LOADED).toFile();
2023-09-17 22:13:42 +03:00
if (loadedFile.exists()) {
PerformScript("cd " +
dst.getAbsolutePath() +
"\ngit pull ");
2023-09-17 22:13:42 +03:00
} else {
Utils.CleanDirectory(dst);
PerformScript("cd Repo\ngit clone " + src + "\n"); //export
2024-04-26 19:16:38 +03:00
FileUtils.write(loadedFile, "");
2023-09-17 22:13:42 +03:00
}
}
@Override
protected void body() throws Exception {
ShowProgress(1, 0, true);
synchronize(Constants.SAPFOR_REPOSITORY, sapforHome);
ShowProgress(1, 1, true);
2023-09-17 22:13:42 +03:00
}
}