++
перевод тестов на гит, рефакторинг проходов загрузки репозитория
This commit is contained in:
56
src/_VisualDVM/Passes/Repository/DownloadRepositoryPass.java
Normal file
56
src/_VisualDVM/Passes/Repository/DownloadRepositoryPass.java
Normal file
@@ -0,0 +1,56 @@
|
||||
package _VisualDVM.Passes.Repository;
|
||||
import Common.CommonConstants;
|
||||
import Common.Utils.Utils_;
|
||||
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;
|
||||
import java.util.Vector;
|
||||
public class DownloadRepositoryPass extends ProcessPass {
|
||||
String url;
|
||||
String dst_name;
|
||||
File dst;
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return "Загрузка репозитория";
|
||||
}
|
||||
@Override
|
||||
protected boolean canStart(Object... args) throws Exception {
|
||||
url = (String) args[0];
|
||||
dst_name = (String) args[1];
|
||||
dst = new File(Global.RepoDirectory, dst_name);
|
||||
return true;
|
||||
}
|
||||
protected boolean hasSubmodules() {
|
||||
return false;
|
||||
}
|
||||
@Override
|
||||
protected void body() throws Exception {
|
||||
ShowProgress(1, 0, true);
|
||||
Vector<String> scriptLines = new Vector<>();
|
||||
File loadedFile = Paths.get(dst.getAbsolutePath(), CommonConstants.LOADED).toFile();
|
||||
boolean pull = loadedFile.exists();
|
||||
if (pull){
|
||||
System.out.println("PULL");
|
||||
scriptLines.add("cd " + dst.getAbsolutePath());
|
||||
scriptLines.add("git pull");
|
||||
}else {
|
||||
Utils.CleanDirectory(dst);
|
||||
System.out.println("CLONE");
|
||||
scriptLines.add("cd " + Utils_.DQuotes(Global.RepoDirectory.getAbsolutePath()));
|
||||
scriptLines.add("git clone " + Utils_.DQuotes(url)+" "+Utils_.DQuotes(dst.getAbsolutePath()));
|
||||
}
|
||||
if (hasSubmodules()) {
|
||||
scriptLines.add("cd " + Utils_.DQuotes(dst));
|
||||
scriptLines.add("GIT_SSL_NO_VERIFY=true git submodule update --init");
|
||||
}
|
||||
PerformScript(String.join("\n", scriptLines));
|
||||
if (!pull){
|
||||
FileUtils.write(loadedFile, "");
|
||||
}
|
||||
ShowProgress(1, 1, true);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user