автоматический поиск версии сапфора для установки на сервере.

This commit is contained in:
2024-05-21 17:36:03 +03:00
parent fb53a4133a
commit 0ae5327fb4
9 changed files with 65 additions and 319 deletions

View File

@@ -1,134 +0,0 @@
package Visual_DVM_2021.Passes.All;
import Repository.Server.ServerCode;
import Repository.Server.ServerExchangeUnit_2021;
import TestingSystem.SAPFOR.ServerSapfor.ServerSapfor;
import Visual_DVM_2021.Passes.PassCode_2021;
import Visual_DVM_2021.Passes.Server.TestingSystemPass;
/*
public class InstallServerSapfor extends ConnectionPass<Object> {
boolean result;
ServerSapfor serverSapfor;
String version_text;
@Override
public String getIconPath() {
return "/icons/DownloadAll.png";
}
@Override
public String getButtonText() {
return "";
}
@Override
protected boolean needsAnimation() {
return true;
}
@Override
public void Connect() throws Exception {
machine = new Machine("Ubuntu", Global.properties.ServerAddress, Global.properties.ServerUserSHHPort, MachineType.Server);
user = new User(Global.properties.ServerUserName, "mprit_2011", "");
super.Connect();
}
@Override
protected boolean canStart(Object... args) {
result = false;
version_text = "";
serverSapfor = null;
return true;
}
@Override
protected void ServerAction() throws Exception {
RemoteFile testingSystemHome = new RemoteFile(user.connection.sftpChannel.pwd(), "_testing_system", true);
RemoteFile repo = new RemoteFile(testingSystemHome.full_name, "Repo", true);
RemoteFile repoSapforHome = new RemoteFile(repo.full_name + Constants.SAPFOR_REPOSITORY_BIN, true);
//--
ShowMessage1("Синхронизация ветви DVM...");
user.connection.performScript(repo,
"svn checkout " + Constants.REPOSITORY_AUTHENTICATION + " " + Constants.DVM_REPOSITORY + "\n"
);
ShowMessage1("Синхронизация ветви SAPFOR...");
user.connection.performScript(repo,
"svn checkout " + Constants.REPOSITORY_AUTHENTICATION + " " + Constants.SAPFOR_REPOSITORY + "\n"
);
ShowMessage1("Сборка SAPFOR...");
//-
RemoteFile repo_bin = new RemoteFile(repoSapforHome.full_name, "Sapfor_F");
if (user.connection.Exists(repo_bin))
user.connection.sftpChannel.rm(repo_bin.full_name);
//--
user.connection.performScript(repoSapforHome, "cmake ../", "make -j 4");
RemoteFile repoSapfor = new RemoteFile(repoSapforHome, "Sapfor_F");
result = user.connection.Exists(repoSapfor);
if (result) {
RemoteFile sapforsDirectory = new RemoteFile(testingSystemHome.full_name, "Sapfors", true);
//создать папку. Для того чтобы скопировать из репозитория.
RemoteFile sapforHome = new RemoteFile(sapforsDirectory.full_name, Utils.getDateName("sapfor"));
user.connection.MKDIR(sapforHome);
RemoteFile sapforBin = new RemoteFile(sapforHome, "Sapfor_F");
user.connection.copy(repo_bin, sapforBin);
//-->>>
serverSapfor = new ServerSapfor();
serverSapfor.home_path = sapforHome.full_name;
serverSapfor.call_command = sapforBin.full_name;
serverSapfor.languageName = LanguageName.fortran;
serverSapfor.buildDate = new Date().getTime();
///--->>
RemoteFile version =new RemoteFile(sapforHome, "version.txt");
user.connection.ShellCommand(serverSapfor.getVersionCommand()+" 1>"+Utils.DQuotes(version.full_name));
if (user.connection.Exists(version)){
String raw = user.connection.readFromFile(version);
String[] data = raw.split(" ");
if (data.length >= 4) serverSapfor.version = data[3].replace(",", "");
}
//---
}
}
}
*/
public class InstallServerSapfor extends TestingSystemPass {
boolean result;
ServerSapfor serverSapfor;
String version_text;
//--
@Override
protected boolean canStart(Object... args) {
result = false;
version_text = "";
serverSapfor = null;
return true;
}
//--
@Override
public String getIconPath() {
return "/icons/DownloadAll.png";
}
@Override
public String getButtonText() {
return "";
}
@Override
protected boolean needsAnimation() {
return true;
}
@Override
protected int getTimeout() {
return 0;
}
@Override
protected void ServerAction() throws Exception {
Command(new ServerExchangeUnit_2021(ServerCode.InstallServerSapfor));
if (response.object != null) {
result = true;
serverSapfor = (ServerSapfor) response.object;
}
}
@Override
protected boolean validate() {
return result;
}
@Override
protected void performDone() throws Exception {
passes.get(PassCode_2021.PublishServerSapfor).Do(serverSapfor);
}
}

View File

@@ -116,7 +116,7 @@ public class PublishComponent extends ComponentsRepositoryPass<Component> {
if (target.getComponentType().equals(ComponentType.Sapfor_F) && f.fields.cbAssemblyOnServer.isSelected()) {
UI.getMainWindow().FocusTesting();
UI.getMainWindow().getTestingWindow().FocusSapforTesting();
passes.get(PassCode_2021.InstallServerSapfor).Do();
passes.get(PassCode_2021.CompileServerSapfor).Do();
}
}
}

View File

@@ -7,7 +7,6 @@ public enum PassCode_2021 {
ShowParallelVariantsCoverage,
//-
DeleteServerSapfor,
InstallServerSapfor,
SaveProfile,
ApplyProfile,
EditProfile,
@@ -466,8 +465,6 @@ public enum PassCode_2021 {
return "Отобразить минимальное покрытие параллельных вариантов";
case DeleteServerSapfor:
return "Удалить версию SAPFOR";
case InstallServerSapfor:
return "Собрать актуальную версию SAPFOR";
case EditProfile:
return "Редактировать профиль";
case DeleteProfile: