промежуточный. проверка версии сапфора при асинхроноой сборке, из репозитория. Завтра доделаю и закоммичу
This commit is contained in:
4
.idea/workspace.xml
generated
4
.idea/workspace.xml
generated
@@ -8,10 +8,12 @@
|
|||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
|
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/Common/UI/Menus_2023/MainMenuBar/MainMenuBar.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/UI/Menus_2023/MainMenuBar/MainMenuBar.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/Repository/Component/Sapfor/Sapfor.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/Component/Sapfor/Sapfor.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/Repository/Server/ServerCode.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/Server/ServerCode.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/Repository/Server/ServerCode.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/Server/ServerCode.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TestingServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestingServer.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TestingServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestingServer.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TestsDatabase.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestsDatabase.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforTestingPlanner.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforTestingPlanner.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforTestingPlanner.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforTestingPlanner.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/TestPass.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/TestPass.java" afterDir="false" />
|
||||||
</list>
|
</list>
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ import java.io.File;
|
|||||||
import java.nio.charset.Charset;
|
import java.nio.charset.Charset;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Vector;
|
import java.util.Vector;
|
||||||
public abstract class Sapfor extends OSDComponent {
|
public abstract class Sapfor extends OSDComponent {
|
||||||
public static final int empty_code = -100;
|
public static final int empty_code = -100;
|
||||||
@@ -555,4 +556,29 @@ public abstract class Sapfor extends OSDComponent {
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
public static int readVersionFromCode(File versionFile) {
|
||||||
|
int res = Constants.Nan;
|
||||||
|
if (versionFile.exists()) {
|
||||||
|
try {
|
||||||
|
List<String> data = FileUtils.readLines(versionFile);
|
||||||
|
for (String s : data) {
|
||||||
|
if (s.startsWith("#define VERSION_SPF ")) {
|
||||||
|
String[] version_data = s.split("\"");
|
||||||
|
if (version_data.length > 0) {
|
||||||
|
String version_s = version_data[1];
|
||||||
|
//-
|
||||||
|
try {
|
||||||
|
res = Integer.parseInt(version_s);
|
||||||
|
} catch (Exception ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Exception ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import Common.Global;
|
|||||||
import Common.Utils.Utils;
|
import Common.Utils.Utils;
|
||||||
import GlobalData.Account.Account;
|
import GlobalData.Account.Account;
|
||||||
import ProjectData.LanguageName;
|
import ProjectData.LanguageName;
|
||||||
|
import Repository.Component.Sapfor.Sapfor;
|
||||||
import Repository.EmailMessage;
|
import Repository.EmailMessage;
|
||||||
import Repository.RepositoryRefuseException;
|
import Repository.RepositoryRefuseException;
|
||||||
import Repository.RepositoryServer;
|
import Repository.RepositoryServer;
|
||||||
@@ -107,6 +108,28 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
//-->>>
|
//-->>>
|
||||||
|
@Override
|
||||||
|
protected void beforePublishAction(DBObject object) throws Exception {
|
||||||
|
if (object instanceof ServerSapfor){
|
||||||
|
File versionFile = new File(Global.TempDirectory,"version.h");
|
||||||
|
if (versionFile.exists())
|
||||||
|
FileUtils.forceDelete(versionFile);
|
||||||
|
//1. Получить версию из репозитория.
|
||||||
|
Utils.startScript(Global.TempDirectory,
|
||||||
|
Global.TempDirectory,
|
||||||
|
"get_version",
|
||||||
|
"wget --user dvmhuser --password dvmh2013 -P " +
|
||||||
|
Utils.DQuotes(Global.TempDirectory.getAbsolutePath()) +
|
||||||
|
" http://svn.dvm-system.org/svn/dvmhrepo/sapfor/experts/Sapfor_2017/_src/Utils/version.h"
|
||||||
|
).waitFor();
|
||||||
|
if (!versionFile.exists())
|
||||||
|
throw new RepositoryRefuseException("Не удалось загрузить текущую версию SAPFOR из репозитория!");
|
||||||
|
int current_version = Sapfor.readVersionFromCode(versionFile);
|
||||||
|
int max_installed_version = db.getInstalledSapforMaxVersion();
|
||||||
|
if (max_installed_version==current_version)
|
||||||
|
throw new RepositoryRefuseException("Актуальная версия SAPFOR "+max_installed_version+" уже установлена");
|
||||||
|
}
|
||||||
|
}
|
||||||
public TestingServer() {
|
public TestingServer() {
|
||||||
super(TestsDatabase.class);
|
super(TestsDatabase.class);
|
||||||
name = Utils.getDateName("testingServer");
|
name = Utils.getDateName("testingServer");
|
||||||
@@ -662,5 +685,25 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
|
|||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
void GetSapforActualVersion() throws Exception {
|
||||||
|
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
||||||
|
File versionFile = new File(Global.TempDirectory,"version.h");
|
||||||
|
if (versionFile.exists())
|
||||||
|
FileUtils.forceDelete(versionFile);
|
||||||
|
//1. Получить версию из репозитория.
|
||||||
|
Utils.startScript(Global.TempDirectory,
|
||||||
|
Global.TempDirectory,
|
||||||
|
"get_version",
|
||||||
|
"wget --user dvmhuser --password dvmh2013 -P " +
|
||||||
|
Utils.DQuotes(Global.TempDirectory.getAbsolutePath()) +
|
||||||
|
" http://svn.dvm-system.org/svn/dvmhrepo/sapfor/experts/Sapfor_2017/_src/Utils/version.h"
|
||||||
|
).waitFor();
|
||||||
|
if (!versionFile.exists())
|
||||||
|
throw new RepositoryRefuseException("Не удалось загрузить текущую версию SAPFOR из репозитория!");
|
||||||
|
int current_version = Sapfor.readVersionFromCode(versionFile);
|
||||||
|
int max_installed_version = db.getInstalledSapforMaxVersion();
|
||||||
|
if (max_installed_version==current_version)
|
||||||
|
throw new RepositoryRefuseException("Версия "+max_installed_version+" уже установлена");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import Common.Global;
|
|||||||
import Common.GlobalProperties;
|
import Common.GlobalProperties;
|
||||||
import Common.Utils.Utils;
|
import Common.Utils.Utils;
|
||||||
import ProjectData.LanguageName;
|
import ProjectData.LanguageName;
|
||||||
|
import Repository.Component.Sapfor.Sapfor;
|
||||||
import Repository.RepositoryRefuseException;
|
import Repository.RepositoryRefuseException;
|
||||||
import Repository.Server.ServerCode;
|
import Repository.Server.ServerCode;
|
||||||
import TestingSystem.Common.TasksPackageState;
|
import TestingSystem.Common.TasksPackageState;
|
||||||
@@ -213,28 +214,6 @@ public class SapforTestingPlanner extends TestingPlanner<SapforPackage> {
|
|||||||
Constants.err_file +
|
Constants.err_file +
|
||||||
"\n").waitFor();
|
"\n").waitFor();
|
||||||
}
|
}
|
||||||
int getSapforRepositoryVersion() throws Exception {
|
|
||||||
int res = Constants.Nan;
|
|
||||||
File versionFile = Paths.get(repo.getAbsolutePath(), "/sapfor/experts/Sapfor_2017/_src/Utils/version.h").toFile();
|
|
||||||
if (versionFile.exists()) {
|
|
||||||
List<String> data = FileUtils.readLines(versionFile);
|
|
||||||
for (String s : data) {
|
|
||||||
if (s.startsWith("#define VERSION_SPF ")) {
|
|
||||||
String[] version_data = s.split("\"");
|
|
||||||
if (version_data.length > 0) {
|
|
||||||
String version_s = version_data[1];
|
|
||||||
//-
|
|
||||||
try {
|
|
||||||
res = Integer.parseInt(version_s);
|
|
||||||
} catch (Exception ex) {
|
|
||||||
ex.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
//--------------------
|
//--------------------
|
||||||
public void checkServerSapforsForCompilation() throws Exception {
|
public void checkServerSapforsForCompilation() throws Exception {
|
||||||
sapfor = null;
|
sapfor = null;
|
||||||
@@ -246,7 +225,7 @@ public class SapforTestingPlanner extends TestingPlanner<SapforPackage> {
|
|||||||
//--
|
//--
|
||||||
SyncronizeRepository();
|
SyncronizeRepository();
|
||||||
max_version = (int) ServerCommand(ServerCode.GetMaxSapforVersion);
|
max_version = (int) ServerCommand(ServerCode.GetMaxSapforVersion);
|
||||||
current_version = getSapforRepositoryVersion();
|
current_version = Sapfor.readVersionFromCode(Paths.get(repo.getAbsolutePath(), "/sapfor/experts/Sapfor_2017/_src/Utils/version.h").toFile());
|
||||||
if (current_version==max_version){
|
if (current_version==max_version){
|
||||||
System.out.println("Версия SAPFOR " + max_version + " уже собрана!");
|
System.out.println("Версия SAPFOR " + max_version + " уже собрана!");
|
||||||
ServerCommand(ServerCode.DeleteObjectByPK, new Pair(ServerSapfor.class,sapfor.id));
|
ServerCommand(ServerCode.DeleteObjectByPK, new Pair(ServerSapfor.class,sapfor.id));
|
||||||
|
|||||||
@@ -1,16 +1,13 @@
|
|||||||
package Visual_DVM_2021.Passes.All;
|
package Visual_DVM_2021.Passes.All;
|
||||||
import Common.Current;
|
import Repository.Server.ServerCode;
|
||||||
import Common.Global;
|
import Repository.Server.ServerExchangeUnit_2021;
|
||||||
import Common.GlobalProperties;
|
import Visual_DVM_2021.Passes.Server.TestingSystemPass;
|
||||||
import Common.Utils.Utils;
|
public class TestPass extends TestingSystemPass {
|
||||||
import TestingSystem.Common.TasksPackageState;
|
@Override
|
||||||
import Visual_DVM_2021.Passes.Pass_2021;
|
protected void ServerAction() throws Exception {
|
||||||
import org.apache.commons.io.FileUtils;
|
// Command(new ServerExchangeUnit_2021(ServerCode.GetSapforActualVersion));
|
||||||
|
}
|
||||||
import java.io.File;
|
/*
|
||||||
import java.net.InetAddress;
|
|
||||||
import java.util.Vector;
|
|
||||||
public class TestPass extends Pass_2021 {
|
|
||||||
@Override
|
@Override
|
||||||
protected void body() throws Exception {
|
protected void body() throws Exception {
|
||||||
/*
|
/*
|
||||||
@@ -36,13 +33,11 @@ public class TestPass extends Pass_2021 {
|
|||||||
Utils.createScript(workspace, workspace,
|
Utils.createScript(workspace, workspace,
|
||||||
"start",
|
"start",
|
||||||
"java -jar VisualSapfor.jar "+ String.join(" ", args));
|
"java -jar VisualSapfor.jar "+ String.join(" ", args));
|
||||||
*/
|
|
||||||
byte[] localIp = InetAddress.getLocalHost().getAddress();
|
byte[] localIp = InetAddress.getLocalHost().getAddress();
|
||||||
InetAddress address = InetAddress.getByName("alex-freenas.ddns.net");
|
InetAddress address = InetAddress.getByName("alex-freenas.ddns.net");
|
||||||
System.out.println(address);
|
System.out.println(address);
|
||||||
|
|
||||||
|
|
||||||
//java определить по адресу сервера совпадает ли он с локальным
|
//java определить по адресу сервера совпадает ли он с локальным
|
||||||
|
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user