доделал создание тестов из версий дерева версий. тоже включил учет исключенных файлов.

This commit is contained in:
2023-12-01 21:18:29 +03:00
parent 7ef2a7540c
commit 22dafd4dca
8 changed files with 69 additions and 63 deletions

View File

@@ -13,7 +13,6 @@ import ProjectData.LanguageName;
import Repository.RepositoryRefuseException;
import Visual_DVM_2021.Passes.All.UnzipFolderPass;
import Visual_DVM_2021.Passes.All.ZipFolderPass;
import Visual_DVM_2021.Passes.PassException;
import com.sun.org.glassfish.gmbal.Description;
import org.apache.commons.io.FileUtils;
@@ -21,10 +20,10 @@ import java.io.File;
import java.util.LinkedHashMap;
import java.util.Vector;
public class Test extends riDBObject {
@Description("DEFAULT 1")
public int min_dim = 1; //мин размерность теста.
@Description("DEFAULT 1")
public int max_dim = 1; //макс размерность теста.
@Description("DEFAULT 0")
public int min_dim = 0; //мин размерность теста.
@Description("DEFAULT 0")
public int max_dim = 0; //макс размерность теста.
@Description("DEFAULT ''")
public String args = ""; //аргументы командной строки. на всякий случай поле зарезервирую. пусть будут.
@Description("DEFAULT -1")
@@ -80,37 +79,6 @@ public class Test extends riDBObject {
public File getTempProject() {
return new File(Global.TempDirectory, temp_project_name);
}
//--
public File packCode(File dir, boolean create_archive) throws Exception {
temp_project_name = Utils.getDateName("test");
//-
File tempProject = getTempProject();
File tempArchive = getTempArchive();
//- создать бд.
FileUtils.forceMkdir(tempProject);
File[] files = dir.listFiles();
if (files == null)
throw new PassException("Не удалось получить список файлов папки " + Utils.Brackets(dir));
//--
//предполагается, что тут уже нет вложенных подпапок кроме версий. поэтому копируем только файлы.
for (File file : files) {
if (file.isFile()) {
System.out.println(file.getAbsolutePath());
File dst = new File(tempProject, file.getName());
FileUtils.copyFile(file, dst);
}
}
//---
Utils.ClearProjectData(tempProject);
//--
if (create_archive) {
ZipFolderPass zip = new ZipFolderPass();
if (zip.Do(tempProject.getAbsolutePath(), tempArchive.getAbsolutePath())) {
project_archive_bytes = Utils.packFile(tempArchive);
} else throw new PassException("Не удалось создать архив папки с кодом.");
}
return tempProject;
}
public boolean unpackProjectOnServer() throws Exception {
File tmpArchive = new File(Global.TempDirectory, temp_project_name + ".zip");
File tmpProject = new File(Global.TempDirectory, temp_project_name);