diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index dc0add85..f9821583 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -9,7 +9,6 @@
-
diff --git a/src/TestingSystem/SAPFOR/SapforTestingPlanner.java b/src/TestingSystem/SAPFOR/SapforTestingPlanner.java
index 343ef4e6..a9e7e877 100644
--- a/src/TestingSystem/SAPFOR/SapforTestingPlanner.java
+++ b/src/TestingSystem/SAPFOR/SapforTestingPlanner.java
@@ -4,10 +4,7 @@ import Common.Current;
import Common.Global;
import Common.GlobalProperties;
import Common.Utils.Utils;
-import ProjectData.LanguageName;
-import Repository.RepositoryRefuseException;
import Repository.Server.ServerCode;
-import Repository.Server.ServerExchangeUnit_2021;
import TestingSystem.Common.TasksPackageState;
import TestingSystem.Common.TestingPlanner;
import TestingSystem.SAPFOR.Json.SapforConfiguration_json;
@@ -25,6 +22,20 @@ import java.util.Date;
public class SapforTestingPlanner extends TestingPlanner {
File workspace;
ServerSapfor sapfor;
+ //--
+ File repo;
+ File repoSapforHome;
+ File repo_bin;
+ File repo_out;
+ File repo_err;
+ //--
+ public SapforTestingPlanner() {
+ repo = new File(Global.Home, "Repo");
+ repoSapforHome = Paths.get(Global.Home, "Repo", Constants.SAPFOR_REPOSITORY_BIN).toFile();
+ repo_bin = new File(repoSapforHome, "Sapfor_F");
+ repo_out = new File(repoSapforHome, Constants.out_file);
+ repo_err = new File(repoSapforHome, Constants.err_file);
+ }
@Override
protected ServerCode getActivePackagesCode() {
return ServerCode.GetFirstActiveSapforPackages;
@@ -149,104 +160,77 @@ public class SapforTestingPlanner extends TestingPlanner {
//--
@Override
public void perform() throws Exception {
- compileSapfor();
+ checkServerSapforsForCompilation();
super.perform();
}
+ //--------------------
public void getServerSapforForCompilation() throws Exception {
- sapfor= (ServerSapfor) ServerCommand(ServerCode.GetSapforForCompilation);
+ sapfor = (ServerSapfor) ServerCommand(ServerCode.GetSapforForCompilation);
}
void UpdateSapforState(ServerSapforState state_in) throws Exception {
sapfor.state = state_in;
ServerCommand(ServerCode.EditObject, sapfor);
}
- public void compileSapfor() throws Exception {
+ void SyncronizeRepository() throws Exception {
+ System.out.println("Синхронизация репозитория...");
+ System.out.println("Синхронизация ветви DVM...");
+ Utils.startScript(repo, repo, "dvm_checkout",
+ "svn checkout " +
+ Constants.REPOSITORY_AUTHENTICATION +
+ " " + Constants.DVM_REPOSITORY + " 1>dvm_out.txt 2>dvm_err.txt\n").waitFor();
+ System.out.println("Синхронизация ветви SAPFOR...");
+ Utils.startScript(repo, repo, "spf_checkout",
+ "svn checkout " +
+ Constants.REPOSITORY_AUTHENTICATION +
+ " " + Constants.SAPFOR_REPOSITORY + " 1>spf_out.txt 2>spf_err.txt\n").waitFor();
+ }
+ void CompileSapfor() throws Exception {
+ System.out.println("Сборка SAPFOR...");
+ //-
+ if (repo_bin.exists())
+ FileUtils.forceDelete(repo_bin);
+ if (repo_out.exists())
+ FileUtils.forceDelete(repo_out);
+ if (repo_err.exists())
+ FileUtils.forceDelete(repo_err);
+ //--
+ Utils.startScript(repoSapforHome, repoSapforHome, "build_sapfor",
+ "cmake ../ 1>" +
+ Constants.out_file +
+ " 2>" +
+ Constants.err_file +
+ "\nmake -j 14 1>>" +
+ Constants.out_file +
+ " 2>>" +
+ Constants.err_file +
+ "\n").waitFor();
+ }
+ //--------------------
+ public void checkServerSapforsForCompilation() throws Exception {
sapfor = null;
getServerSapforForCompilation();
if (sapfor != null) {
- //--
- File testingSystemHome = new File(Global.Home);
- File repo = new File(testingSystemHome, "Repo");
- File repoSapforHome = Paths.get(repo.getAbsolutePath(), Constants.SAPFOR_REPOSITORY_BIN).toFile();
- File repo_bin = new File(repoSapforHome, "Sapfor_F");
- File repo_out = new File(repoSapforHome, Constants.out_file);
- File repo_err = new File(repoSapforHome, Constants.err_file);
- //--
- System.out.println("Синхронизация ветви DVM...");
- Utils.startScript(repo, repo, "dvm_checkout",
- "svn checkout " +
- Constants.REPOSITORY_AUTHENTICATION +
- " " + Constants.DVM_REPOSITORY + " 1>dvm_out.txt 2>dvm_err.txt\n").waitFor();
- System.out.println("Синхронизация ветви SAPFOR...");
- Utils.startScript(repo, repo, "spf_checkout",
- "svn checkout " +
- Constants.REPOSITORY_AUTHENTICATION +
- " " + Constants.SAPFOR_REPOSITORY + " 1>spf_out.txt 2>spf_err.txt\n").waitFor();
- if (repo_bin.exists())
- FileUtils.forceDelete(repo_bin);
- //--
- System.out.println("Сборка SAPFOR...");
- Utils.startScript(repoSapforHome, repoSapforHome, "build_sapfor",
- "cmake ../ 1>" +
- Constants.out_file +
- " 2>" +
- Constants.err_file +
- "\nmake -j 14 1>>" +
- Constants.out_file +
- " 2>>" +
- Constants.err_file +
- "\n").waitFor();
- //--
- System.out.println("DONE");
- System.out.println("Result file is " + Utils.Brackets(repo_bin.getAbsolutePath()));
- //---
- System.out.println("Обработка результатов");
- //---
- File sapforsDirectory = new File(testingSystemHome, "Sapfors");
- File sapforHome = new File(sapforsDirectory, Utils.getDateName("sapfor"));
- sapforHome.mkdir();
+ SyncronizeRepository();
+ //-
+ File sapforHome = new File(Global.SapforsDirectory, Utils.getDateName("sapfor"));
+ File sapforBin = new File(sapforHome, "Sapfor_F");
File sapforOut = new File(sapforHome, Constants.out_file);
File sapforErr = new File(sapforHome, Constants.err_file);
- //--
- System.out.println(repo_bin.getAbsolutePath());
- System.out.println(repo_out.getAbsolutePath());
- System.out.println(repo_err.getAbsolutePath());
- System.out.println("====================");
+ //-
+ CompileSapfor();
+ sapforHome.mkdir();
//--
if (repo_out.exists())
FileUtils.copyFile(repo_out, sapforOut);
if (repo_err.exists())
FileUtils.copyFile(repo_err, sapforErr);
- ///-----
- //---
if (repo_bin.exists()) {
- System.out.println("assembly found!");
- // response = new ServerExchangeUnit_2021(ServerCode.OK);
- //создать папку. Для того чтобы скопировать из репозитория.
- File sapforBin = new File(sapforHome, "Sapfor_F");
+ System.out.println("Сборка SAPFOR успешно выполнена");
FileUtils.copyFile(repo_bin, sapforBin);
sapforBin.setExecutable(true, false);
- // //-->>>
- /*
- ServerSapfor serverSapfor = new ServerSapfor();
- serverSapfor.home_path = sapforHome.getAbsolutePath();
- serverSapfor.call_command = sapforBin.getAbsolutePath();
- serverSapfor.languageName = LanguageName.fortran;
- serverSapfor.buildDate = new Date().getTime();
- response.object = serverSapfor;
- serverSapfor.version = String.valueOf(current_version);
- */
- //---
- // EmailSapforAssembly(current_version, true);
- //---
UpdateSapforState(ServerSapforState.Done);
- }
-
- else {
+ } else {
UpdateSapforState(ServerSapforState.DoneWithErrors);
- //---
- // EmailSapforAssembly(current_version, false);
- //---
- // throw new RepositoryRefuseException("Бинарный файл SAPFOR не найден!");
}
}
}