package _VisualDVM.Passes.All; import Common.CommonConstants; import Common.Utils.Utils_; import _VisualDVM.Constants; import _VisualDVM.Global; import _VisualDVM.Passes.ProcessPass; import _VisualDVM.Utils; import org.apache.commons.io.FileUtils; import java.io.File; import java.nio.file.Paths; public class DownloadSapforRepository extends ProcessPass { File sapforHome; @Override public String getDescription() { return "Загрузка репозитория"; } @Override protected boolean canStart(Object... args) throws Exception { sapforHome = Paths.get(Global.RepoDirectory.getAbsolutePath(), "SAPFOR").toFile(); return true; } private void synchronize(String src, File dst) throws Exception { File loadedFile = Paths.get(dst.getAbsolutePath(), CommonConstants.LOADED).toFile(); if (loadedFile.exists()) { PerformScript("cd " + dst.getAbsolutePath() + "\n" + "git pull\n" + "cd " + Utils_.DQuotes(sapforHome) + "\n" + "GIT_SSL_NO_VERIFY=true git submodule update --init\n" ); } else { Utils.CleanDirectory(dst); PerformScript("cd Repo\n" + "git clone " + Utils_.DQuotes(src) + "\n" + "cd " + Utils_.DQuotes(sapforHome) + "\n" + "GIT_SSL_NO_VERIFY=true git submodule update --init\n" ); //export FileUtils.write(loadedFile, ""); } } @Override protected void body() throws Exception { ShowProgress(1, 0, true); synchronize(Constants.SAPFOR_REPOSITORY, sapforHome); ShowProgress(1, 1, true); } }