This commit is contained in:
2023-11-25 13:41:57 +03:00
parent 094c3fda66
commit f0fd9335c4
2 changed files with 12 additions and 10 deletions

View File

@@ -600,4 +600,13 @@ public abstract class Sapfor extends OSDComponent {
Constants.out_file,
Constants.err_file);
}
public static File temp_copy = null;
public static File getTempCopy() throws Exception {
if (temp_copy == null || !temp_copy.exists()) {
temp_copy = Utils.getTempFileName("SAPFOR" + (Global.isWindows ? ".exe" : ""));
FileUtils.copyFile(Current.getSapfor().getFile(), temp_copy);
temp_copy.setExecutable(true);
}
return temp_copy;
}
}

View File

@@ -11,7 +11,6 @@ import TestingSystem.Common.Group.Group;
import TestingSystem.Common.Test.Test;
import Visual_DVM_2021.Passes.PassCode_2021;
import Visual_DVM_2021.Passes.Pass_2021;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.util.Vector;
@@ -134,21 +133,15 @@ public class CreateTestFromDirectory extends Pass_2021<Test> {
}
@Override
protected void body() throws Exception {
System.out.println("found " + project_files.size());
for (ProjectFile projectFile : project_files) {
System.out.println(projectFile.file.getAbsolutePath());
}
System.out.println("===================");
ShowMessage1(dir.getName());
//--
db_project_info project = target.packCode(dir); //создание копии папки, и архивация.
//-- получить размерность консольным сапфором. папка уже отправлена и чистить ее не нужно!!
File sapfor_copy = Utils.getTempFileName("SAPFOR");
FileUtils.copyFile(Current.getSapfor().getFile(), sapfor_copy);
ShowMessage2("Синтаксический анализ");
if (Sapfor.parse(sapfor_copy, project.Home, Current.getSapfor().getConsoleFlags())
if (Sapfor.parse(Sapfor.getTempCopy(), project.Home, Current.getSapfor().getConsoleFlags())
) {
ShowMessage2("Определение размерности");
if (Sapfor.analysis(sapfor_copy, project.Home,
if (Sapfor.analysis(Sapfor.getTempCopy(), project.Home,
PassCode_2021.SPF_GetMaxMinBlockDistribution,
Current.getSapfor().getConsoleFlags())) {
for (String line : Sapfor.outputLines) {