сохранение и публикация файлов вывода при установке сапфора на сервере.
возможность указать автоматическую сборку сапфора после публикации компонента.
This commit is contained in:
10
.idea/workspace.xml
generated
10
.idea/workspace.xml
generated
@@ -9,8 +9,18 @@
|
|||||||
<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/Constants.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Constants.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/Common/Constants.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Constants.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/Repository/Component/UI/PublishFields.form" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/Component/UI/PublishFields.form" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/Repository/Component/UI/PublishFields.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/Component/UI/PublishFields.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/Repository/RepositoryServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/RepositoryServer.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/Repository/Server/ComponentsServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/Server/ComponentsServer.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/TestingServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/TestingServer.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/InstallServerSapfor.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/InstallServerSapfor.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/InstallServerSapfor.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/InstallServerSapfor.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/PublishComponent.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/PublishComponent.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/SSH/ConnectionPass.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/SSH/ConnectionPass.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/SSH/ConnectionPass.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/SSH/ConnectionPass.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Interface/TestingWindow.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Interface/TestingWindow.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/MainForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/MainForm.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/TestingForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/TestingForm.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" />
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ public class Constants {
|
|||||||
public static final String REPOSITORY_AUTHENTICATION = "--username dvmhuser --password dvmh2013 --non-interactive";
|
public static final String REPOSITORY_AUTHENTICATION = "--username dvmhuser --password dvmh2013 --non-interactive";
|
||||||
public static final String DVM_REPOSITORY = "http://svn.dvm-system.org/svn/dvmhrepo/dvm";
|
public static final String DVM_REPOSITORY = "http://svn.dvm-system.org/svn/dvmhrepo/dvm";
|
||||||
public static final String SAPFOR_REPOSITORY = "http://svn.dvm-system.org/svn/dvmhrepo/sapfor";
|
public static final String SAPFOR_REPOSITORY = "http://svn.dvm-system.org/svn/dvmhrepo/sapfor";
|
||||||
|
public static final String SAPFOR_REPOSITORY_BIN = "/sapfor/experts/Sapfor_2017/_bin";
|
||||||
//--
|
//--
|
||||||
//-файлы-признаки
|
//-файлы-признаки
|
||||||
public static final String LOADED = "LOADED";
|
public static final String LOADED = "LOADED";
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="Repository.Component.UI.PublishFields">
|
<form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="Repository.Component.UI.PublishFields">
|
||||||
<grid id="27dc6" binding="content" layout-manager="GridLayoutManager" row-count="7" column-count="3" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
|
<grid id="27dc6" binding="content" layout-manager="GridLayoutManager" row-count="8" column-count="3" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
|
||||||
<margin top="0" left="0" bottom="0" right="0"/>
|
<margin top="0" left="0" bottom="0" right="0"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<xy x="20" y="20" width="500" height="400"/>
|
<xy x="20" y="20" width="500" height="400"/>
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
</component>
|
</component>
|
||||||
<scrollpane id="b33e5">
|
<scrollpane id="b33e5">
|
||||||
<constraints>
|
<constraints>
|
||||||
<grid row="6" column="0" row-span="1" col-span="3" vsize-policy="7" hsize-policy="7" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
|
<grid row="7" column="0" row-span="1" col-span="3" vsize-policy="7" hsize-policy="7" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<properties/>
|
<properties/>
|
||||||
<border type="none"/>
|
<border type="none"/>
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
</scrollpane>
|
</scrollpane>
|
||||||
<component id="fbdf3" class="javax.swing.JLabel">
|
<component id="fbdf3" class="javax.swing.JLabel">
|
||||||
<constraints>
|
<constraints>
|
||||||
<grid row="5" column="0" row-span="1" col-span="3" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
|
<grid row="6" column="0" row-span="1" col-span="3" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<properties>
|
<properties>
|
||||||
<font name="Times New Roman" size="16" style="2"/>
|
<font name="Times New Roman" size="16" style="2"/>
|
||||||
@@ -49,7 +49,7 @@
|
|||||||
</component>
|
</component>
|
||||||
<component id="21340" class="javax.swing.JCheckBox" binding="cbForceMail">
|
<component id="21340" class="javax.swing.JCheckBox" binding="cbForceMail">
|
||||||
<constraints>
|
<constraints>
|
||||||
<grid row="1" column="0" row-span="1" col-span="3" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
|
<grid row="2" column="0" row-span="1" col-span="3" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<properties>
|
<properties>
|
||||||
<font name="Times New Roman" size="16" style="0"/>
|
<font name="Times New Roman" size="16" style="0"/>
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
</component>
|
</component>
|
||||||
<component id="148fa" class="javax.swing.JCheckBox" binding="cbUpdateMinimalVersion">
|
<component id="148fa" class="javax.swing.JCheckBox" binding="cbUpdateMinimalVersion">
|
||||||
<constraints>
|
<constraints>
|
||||||
<grid row="2" column="0" row-span="1" col-span="3" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
|
<grid row="3" column="0" row-span="1" col-span="3" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<properties>
|
<properties>
|
||||||
<font name="Times New Roman" size="16" style="0"/>
|
<font name="Times New Roman" size="16" style="0"/>
|
||||||
@@ -71,7 +71,7 @@
|
|||||||
</component>
|
</component>
|
||||||
<component id="b1e6f" class="javax.swing.JLabel">
|
<component id="b1e6f" class="javax.swing.JLabel">
|
||||||
<constraints>
|
<constraints>
|
||||||
<grid row="3" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="2" use-parent-layout="false"/>
|
<grid row="4" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="2" use-parent-layout="false"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<properties>
|
<properties>
|
||||||
<font name="Times New Roman" size="16" style="0"/>
|
<font name="Times New Roman" size="16" style="0"/>
|
||||||
@@ -80,7 +80,7 @@
|
|||||||
</component>
|
</component>
|
||||||
<component id="7e269" class="javax.swing.JLabel" binding="lMinimalVersion">
|
<component id="7e269" class="javax.swing.JLabel" binding="lMinimalVersion">
|
||||||
<constraints>
|
<constraints>
|
||||||
<grid row="3" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
|
<grid row="4" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<properties>
|
<properties>
|
||||||
<font name="Times New Roman" size="16" style="1"/>
|
<font name="Times New Roman" size="16" style="1"/>
|
||||||
@@ -89,12 +89,12 @@
|
|||||||
</component>
|
</component>
|
||||||
<hspacer id="37705">
|
<hspacer id="37705">
|
||||||
<constraints>
|
<constraints>
|
||||||
<grid row="3" column="2" row-span="1" col-span="1" vsize-policy="1" hsize-policy="6" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
|
<grid row="4" column="2" row-span="1" col-span="1" vsize-policy="1" hsize-policy="6" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
</hspacer>
|
</hspacer>
|
||||||
<component id="128e5" class="javax.swing.JLabel">
|
<component id="128e5" class="javax.swing.JLabel">
|
||||||
<constraints>
|
<constraints>
|
||||||
<grid row="4" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="2" use-parent-layout="false"/>
|
<grid row="5" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="2" use-parent-layout="false"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<properties>
|
<properties>
|
||||||
<font name="Times New Roman" size="16" style="0"/>
|
<font name="Times New Roman" size="16" style="0"/>
|
||||||
@@ -103,13 +103,24 @@
|
|||||||
</component>
|
</component>
|
||||||
<component id="84e2b" class="javax.swing.JLabel" binding="lPublishingVersion">
|
<component id="84e2b" class="javax.swing.JLabel" binding="lPublishingVersion">
|
||||||
<constraints>
|
<constraints>
|
||||||
<grid row="4" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
|
<grid row="5" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<properties>
|
<properties>
|
||||||
<font name="Times New Roman" size="16" style="1"/>
|
<font name="Times New Roman" size="16" style="1"/>
|
||||||
<text value="?"/>
|
<text value="?"/>
|
||||||
</properties>
|
</properties>
|
||||||
</component>
|
</component>
|
||||||
|
<component id="b01cb" class="javax.swing.JCheckBox" binding="cbAssemblyOnServer">
|
||||||
|
<constraints>
|
||||||
|
<grid row="1" column="0" row-span="1" col-span="3" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
|
||||||
|
</constraints>
|
||||||
|
<properties>
|
||||||
|
<font name="Times New Roman" size="16" style="0"/>
|
||||||
|
<selected value="true"/>
|
||||||
|
<text value="Собрать на сервере"/>
|
||||||
|
<verticalAlignment value="3"/>
|
||||||
|
</properties>
|
||||||
|
</component>
|
||||||
</children>
|
</children>
|
||||||
</grid>
|
</grid>
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ public class PublishFields implements DialogFields {
|
|||||||
public JCheckBox cbUpdateMinimalVersion;
|
public JCheckBox cbUpdateMinimalVersion;
|
||||||
public JLabel lMinimalVersion;
|
public JLabel lMinimalVersion;
|
||||||
public JLabel lPublishingVersion;
|
public JLabel lPublishingVersion;
|
||||||
|
public JCheckBox cbAssemblyOnServer;
|
||||||
public PublishFields() {
|
public PublishFields() {
|
||||||
cbNeedsBroadcast.addActionListener(new ActionListener() {
|
cbNeedsBroadcast.addActionListener(new ActionListener() {
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -135,12 +135,14 @@ public abstract class RepositoryServer<D extends Database> {
|
|||||||
multipart.addBodyPart(attachmentBodyPart);
|
multipart.addBodyPart(attachmentBodyPart);
|
||||||
}
|
}
|
||||||
for (File f : directAttachements) {
|
for (File f : directAttachements) {
|
||||||
|
if (f.exists()) {
|
||||||
MimeBodyPart attachmentBodyPart = new MimeBodyPart();
|
MimeBodyPart attachmentBodyPart = new MimeBodyPart();
|
||||||
DataSource source = new FileDataSource(f);
|
DataSource source = new FileDataSource(f);
|
||||||
attachmentBodyPart.setDataHandler(new DataHandler(source));
|
attachmentBodyPart.setDataHandler(new DataHandler(source));
|
||||||
attachmentBodyPart.setFileName(f.getName());
|
attachmentBodyPart.setFileName(f.getName());
|
||||||
multipart.addBodyPart(attachmentBodyPart);
|
multipart.addBodyPart(attachmentBodyPart);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
message.setContent(multipart);
|
message.setContent(multipart);
|
||||||
Transport.send(message);
|
Transport.send(message);
|
||||||
System.out.println("message sent");
|
System.out.println("message sent");
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
package Repository.Server;
|
package Repository.Server;
|
||||||
import Common.Constants;
|
|
||||||
import Common.Database.DBObject;
|
import Common.Database.DBObject;
|
||||||
import Common.Global;
|
import Common.Global;
|
||||||
import Common.Utils.Utils;
|
import Common.Utils.Utils;
|
||||||
@@ -75,13 +74,6 @@ public class ComponentsServer extends RepositoryServer<BugReportsDatabase> {
|
|||||||
Account account = null;
|
Account account = null;
|
||||||
if (!Global.properties.OldServer) {
|
if (!Global.properties.OldServer) {
|
||||||
switch (code) {
|
switch (code) {
|
||||||
case Patch:
|
|
||||||
Print("Очистка файлов в багрепортах");
|
|
||||||
for (BugReport bug: db.bugReports.Data.values()){
|
|
||||||
|
|
||||||
}
|
|
||||||
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
|
||||||
break;
|
|
||||||
//<editor-fold desc="Регистрация">
|
//<editor-fold desc="Регистрация">
|
||||||
case CheckSubscriberRole:
|
case CheckSubscriberRole:
|
||||||
Print("Проверить роль пользователя");
|
Print("Проверить роль пользователя");
|
||||||
@@ -419,7 +411,6 @@ public class ComponentsServer extends RepositoryServer<BugReportsDatabase> {
|
|||||||
//bonus backup
|
//bonus backup
|
||||||
if (rightNow.get(Calendar.DAY_OF_WEEK) == Calendar.MONDAY) {
|
if (rightNow.get(Calendar.DAY_OF_WEEK) == Calendar.MONDAY) {
|
||||||
Vector<String> targets = new Vector<>();
|
Vector<String> targets = new Vector<>();
|
||||||
targets.add(Constants.MailAddress);
|
|
||||||
targets.addAll(Arrays.asList(Global.admins_mails));
|
targets.addAll(Arrays.asList(Global.admins_mails));
|
||||||
EmailMessage message = new EmailMessage(
|
EmailMessage message = new EmailMessage(
|
||||||
"db backup",
|
"db backup",
|
||||||
|
|||||||
@@ -73,5 +73,6 @@ public enum ServerCode {
|
|||||||
GetFirstActiveSapforTasksPackage,
|
GetFirstActiveSapforTasksPackage,
|
||||||
DownloadSapforTasksPackage,
|
DownloadSapforTasksPackage,
|
||||||
Patch,
|
Patch,
|
||||||
|
EmailSapforAssembly,
|
||||||
OLD
|
OLD
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import GlobalData.Tasks.TaskState;
|
|||||||
import GlobalData.User.User;
|
import GlobalData.User.User;
|
||||||
import ProjectData.LanguageName;
|
import ProjectData.LanguageName;
|
||||||
import ProjectData.Project.db_project_info;
|
import ProjectData.Project.db_project_info;
|
||||||
|
import Repository.EmailMessage;
|
||||||
import Repository.RepositoryRefuseException;
|
import Repository.RepositoryRefuseException;
|
||||||
import Repository.RepositoryServer;
|
import Repository.RepositoryServer;
|
||||||
import Repository.Server.ServerCode;
|
import Repository.Server.ServerCode;
|
||||||
@@ -39,6 +40,7 @@ import org.apache.commons.io.FileUtils;
|
|||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.Vector;
|
import java.util.Vector;
|
||||||
@@ -313,51 +315,25 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
|
|||||||
return (SapforTasksResults_json) Utils.jsonFromFile(
|
return (SapforTasksResults_json) Utils.jsonFromFile(
|
||||||
results_file, SapforTasksResults_json.class);
|
results_file, SapforTasksResults_json.class);
|
||||||
}
|
}
|
||||||
//надо в другое место.
|
|
||||||
/*
|
|
||||||
public Vector<String> CompareSapforPackages(SapforTasksPackage package1, SapforTasksPackage package2) throws Exception {
|
|
||||||
Vector<String> comparisonLog = new Vector<>();
|
|
||||||
// чтобы сравнивать. должен быть идентичный список тестов. (без учета последовательности)
|
|
||||||
// идентичный набор проходов (с учетом последовательности)
|
|
||||||
//идентичный набор флагов (?) без учета последовательности.
|
|
||||||
// то есть должны отличаться только тестируемые версии САПФОР.
|
|
||||||
SapforTasksResults_json results1_json = getSapforPackageResults(package1);
|
|
||||||
SapforTasksResults_json results2_json = getSapforPackageResults(package2);
|
|
||||||
if (results1_json.tasks.size() != results2_json.tasks.size()) {
|
|
||||||
comparisonLog.add("Количество задач в пакетах не совпадает.");
|
|
||||||
comparisonLog.add(package1.id + ": " + results1_json.tasks.size() + "/" + package2.id + ": " + results2_json.tasks.size());
|
|
||||||
return comparisonLog;
|
|
||||||
}
|
|
||||||
//подходит если все задачи из первого пакета содержатся во втором, и размер одинаковый.
|
|
||||||
Vector<SapforTask> sortedTasks2 = new Vector<>();
|
|
||||||
for (SapforTask task1 : results1_json.tasks) {
|
|
||||||
//на
|
|
||||||
boolean match = false;
|
|
||||||
for (SapforTask task2 : results2_json.tasks) {
|
|
||||||
if (task1.isComparable(task2)) {
|
|
||||||
match = true;
|
|
||||||
sortedTasks2.add(task2);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!match) {
|
|
||||||
comparisonLog.add("Найдена не совпадающая задача.");
|
|
||||||
return comparisonLog;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for (SapforTask task1 : results1_json.tasks) {
|
|
||||||
for (SapforTask task2 : sortedTasks2) {
|
|
||||||
task1.Compare(task2, comparisonLog);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return comparisonLog;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
protected void Session() throws Exception {
|
protected void Session() throws Exception {
|
||||||
DBObject dbObject = null;
|
DBObject dbObject = null;
|
||||||
Test test = null;
|
Test test = null;
|
||||||
switch (code) {
|
switch (code) {
|
||||||
|
case EmailSapforAssembly:
|
||||||
|
Print("Сообщить о сборке SAPFOR для пользователя " + request.arg);
|
||||||
|
Vector<String> assembly_info = (Vector<String>) request.object;
|
||||||
|
File out = Paths.get(Global.RepoDirectory.getAbsolutePath(), Constants.SAPFOR_REPOSITORY_BIN, Constants.out_file).toFile();
|
||||||
|
File err = Paths.get(Global.RepoDirectory.getAbsolutePath(), Constants.SAPFOR_REPOSITORY_BIN, Constants.err_file).toFile();
|
||||||
|
Vector<String> targets = new Vector<>(Arrays.asList(Global.admins_mails));
|
||||||
|
EmailMessage message = new EmailMessage(
|
||||||
|
"Выполнена сборка системы SAPFOR",
|
||||||
|
"Версия: " + assembly_info.get(0) + "\n" + "Статус: " + assembly_info.get(1),
|
||||||
|
targets
|
||||||
|
);
|
||||||
|
Email(message, out, err);
|
||||||
|
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
||||||
|
break;
|
||||||
case PublishSapforPackageTasks:
|
case PublishSapforPackageTasks:
|
||||||
Print("Опубликовать задачи SAPFOR для пользователя " + request.arg);
|
Print("Опубликовать задачи SAPFOR для пользователя " + request.arg);
|
||||||
SetCurrentAccountDB(request.arg);
|
SetCurrentAccountDB(request.arg);
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package Visual_DVM_2021.Passes.All;
|
package Visual_DVM_2021.Passes.All;
|
||||||
import Common.Constants;
|
import Common.Constants;
|
||||||
|
import Common.Current;
|
||||||
import Common.Global;
|
import Common.Global;
|
||||||
import Common.Utils.Utils;
|
import Common.Utils.Utils;
|
||||||
import GlobalData.RemoteFile.RemoteFile;
|
import GlobalData.RemoteFile.RemoteFile;
|
||||||
@@ -12,6 +13,7 @@ import Visual_DVM_2021.Passes.SSH.ConnectionPass;
|
|||||||
import Visual_DVM_2021.Passes.TestingSystemPass;
|
import Visual_DVM_2021.Passes.TestingSystemPass;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.Vector;
|
||||||
public class InstallServerSapfor extends ConnectionPass<Object> {
|
public class InstallServerSapfor extends ConnectionPass<Object> {
|
||||||
boolean result;
|
boolean result;
|
||||||
ServerSapfor serverSapfor;
|
ServerSapfor serverSapfor;
|
||||||
@@ -49,7 +51,7 @@ public class InstallServerSapfor extends ConnectionPass<Object> {
|
|||||||
protected void ServerAction() throws Exception {
|
protected void ServerAction() throws Exception {
|
||||||
RemoteFile testingSystemHome = new RemoteFile(sftpChannel.pwd(), "testing_system", true);
|
RemoteFile testingSystemHome = new RemoteFile(sftpChannel.pwd(), "testing_system", true);
|
||||||
RemoteFile repo = new RemoteFile(testingSystemHome.full_name, "Repo", true);
|
RemoteFile repo = new RemoteFile(testingSystemHome.full_name, "Repo", true);
|
||||||
RemoteFile repoSapforHome = new RemoteFile(repo.full_name + "/sapfor/experts/Sapfor_2017/_bin", true);
|
RemoteFile repoSapforHome = new RemoteFile(repo.full_name + Constants.SAPFOR_REPOSITORY_BIN, true);
|
||||||
//--
|
//--
|
||||||
ShowMessage1("Синхронизация ветви DVM...");
|
ShowMessage1("Синхронизация ветви DVM...");
|
||||||
ShellCommand("cd " + Utils.DQuotes(repo.full_name), "svn checkout " + Constants.REPOSITORY_AUTHENTICATION + " " + Constants.DVM_REPOSITORY + "\n");
|
ShellCommand("cd " + Utils.DQuotes(repo.full_name), "svn checkout " + Constants.REPOSITORY_AUTHENTICATION + " " + Constants.DVM_REPOSITORY + "\n");
|
||||||
@@ -61,8 +63,7 @@ public class InstallServerSapfor extends ConnectionPass<Object> {
|
|||||||
if (Exists(repoSapforHome.full_name, repo_bin.name))
|
if (Exists(repoSapforHome.full_name, repo_bin.name))
|
||||||
sftpChannel.rm(repo_bin.full_name);
|
sftpChannel.rm(repo_bin.full_name);
|
||||||
//--
|
//--
|
||||||
performScript(repoSapforHome, "cmake ../", "make -j 4" );
|
performScript(repoSapforHome, "cmake ../", "make -j 4");
|
||||||
// ShellCommand("cd " + Utils.DQuotes(repoSapforHome.full_name), "cmake ../", "make -j 4");
|
|
||||||
result = Exists(repoSapforHome.full_name, "Sapfor_F");
|
result = Exists(repoSapforHome.full_name, "Sapfor_F");
|
||||||
if (result) {
|
if (result) {
|
||||||
RemoteFile sapforsDirectory = new RemoteFile(testingSystemHome.full_name, "Sapfors", true);
|
RemoteFile sapforsDirectory = new RemoteFile(testingSystemHome.full_name, "Sapfors", true);
|
||||||
@@ -93,6 +94,22 @@ public class InstallServerSapfor extends ConnectionPass<Object> {
|
|||||||
}
|
}
|
||||||
}.Do();
|
}.Do();
|
||||||
}
|
}
|
||||||
|
new TestingSystemPass() {
|
||||||
|
@Override
|
||||||
|
public String getDescription() {
|
||||||
|
return "Рассылка выходных файлов сборки SAPFOR";
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected void ServerAction() throws Exception {
|
||||||
|
Vector<String> info = new Vector<>();
|
||||||
|
info.add(result ? serverSapfor.version : "?");
|
||||||
|
info.add(result ? "Успешно" : "С ошибками");
|
||||||
|
Command(new ServerExchangeUnit_2021(ServerCode.EmailSapforAssembly,
|
||||||
|
Current.getAccount().email,
|
||||||
|
info
|
||||||
|
));
|
||||||
|
}
|
||||||
|
}.Do();
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
protected boolean validate() {
|
protected boolean validate() {
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
package Visual_DVM_2021.Passes.All;
|
package Visual_DVM_2021.Passes.All;
|
||||||
import Common.Current;
|
import Common.Current;
|
||||||
import Common.Global;
|
import Common.Global;
|
||||||
|
import Common.UI.UI;
|
||||||
import Common.Utils.Utils;
|
import Common.Utils.Utils;
|
||||||
import GlobalData.Account.AccountRole;
|
import GlobalData.Account.AccountRole;
|
||||||
import Repository.Component.Component;
|
import Repository.Component.Component;
|
||||||
|
import Repository.Component.ComponentType;
|
||||||
import Repository.Component.UI.PublishForm;
|
import Repository.Component.UI.PublishForm;
|
||||||
import Repository.EmailMessage;
|
import Repository.EmailMessage;
|
||||||
import Repository.RepositoryServer;
|
import Repository.RepositoryServer;
|
||||||
@@ -50,6 +52,13 @@ public class PublishComponent extends ComponentsRepositoryPass<Component> {
|
|||||||
if (!target.isValidVersion(Log, "публикуемого")) {
|
if (!target.isValidVersion(Log, "публикуемого")) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
if (target.getComponentType().equals(ComponentType.Sapfor_F)) {
|
||||||
|
f.fields.cbAssemblyOnServer.setVisible(true);
|
||||||
|
f.fields.cbAssemblyOnServer.setSelected(true);
|
||||||
|
} else {
|
||||||
|
f.fields.cbAssemblyOnServer.setVisible(false);
|
||||||
|
f.fields.cbAssemblyOnServer.setSelected(false);
|
||||||
|
}
|
||||||
if (f.ShowDialog(code().getDescription())) {
|
if (f.ShowDialog(code().getDescription())) {
|
||||||
target.needs_update_minimal_version = f.fields.cbUpdateMinimalVersion.isSelected();
|
target.needs_update_minimal_version = f.fields.cbUpdateMinimalVersion.isSelected();
|
||||||
return true;
|
return true;
|
||||||
@@ -103,6 +112,12 @@ public class PublishComponent extends ComponentsRepositoryPass<Component> {
|
|||||||
if (f.fields.cbForceMail.isSelected())
|
if (f.fields.cbForceMail.isSelected())
|
||||||
message.addAttachement(target.getFile());
|
message.addAttachement(target.getFile());
|
||||||
Pass_2021.passes.get(PassCode_2021.Email).Do(message);
|
Pass_2021.passes.get(PassCode_2021.Email).Do(message);
|
||||||
|
//---
|
||||||
|
if (target.getComponentType().equals(ComponentType.Sapfor_F) && f.fields.cbAssemblyOnServer.isSelected()) {
|
||||||
|
UI.getMainWindow().FocusTesting();
|
||||||
|
UI.getMainWindow().getTestingWindow().FocusSapforTesting();
|
||||||
|
passes.get(PassCode_2021.InstallServerSapfor).Do();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import ProjectData.Project.db_project_info;
|
|||||||
import Visual_DVM_2021.Passes.PassException;
|
import Visual_DVM_2021.Passes.PassException;
|
||||||
import Visual_DVM_2021.Passes.Pass_2021;
|
import Visual_DVM_2021.Passes.Pass_2021;
|
||||||
import com.jcraft.jsch.*;
|
import com.jcraft.jsch.*;
|
||||||
|
import javafx.util.Pair;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.net.SocketException;
|
import java.net.SocketException;
|
||||||
@@ -387,7 +388,7 @@ public abstract class ConnectionPass<T> extends Pass_2021<T> {
|
|||||||
if (!Exists(dir.parent, dir.name)) sftpChannel.mkdir(dir.full_name);
|
if (!Exists(dir.parent, dir.name)) sftpChannel.mkdir(dir.full_name);
|
||||||
}
|
}
|
||||||
//--
|
//--
|
||||||
public void performScript(RemoteFile directory, String... commands) throws Exception {
|
public Pair<RemoteFile, RemoteFile> performScript(RemoteFile directory, String... commands) throws Exception {
|
||||||
RemoteFile script_file = new RemoteFile(directory.full_name, Constants.script);
|
RemoteFile script_file = new RemoteFile(directory.full_name, Constants.script);
|
||||||
RemoteFile out = new RemoteFile(directory.full_name, Constants.out_file);
|
RemoteFile out = new RemoteFile(directory.full_name, Constants.out_file);
|
||||||
RemoteFile err = new RemoteFile(directory.full_name, Constants.err_file);
|
RemoteFile err = new RemoteFile(directory.full_name, Constants.err_file);
|
||||||
@@ -405,6 +406,8 @@ public abstract class ConnectionPass<T> extends Pass_2021<T> {
|
|||||||
//--
|
//--
|
||||||
ShellCommand("cd " + Utils.DQuotes(directory.full_name),
|
ShellCommand("cd " + Utils.DQuotes(directory.full_name),
|
||||||
script_file.full_name + " 1>" + Constants.out_file + " 2>" + Constants.err_file);
|
script_file.full_name + " 1>" + Constants.out_file + " 2>" + Constants.err_file);
|
||||||
|
|
||||||
|
return new Pair<>(out, err);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,4 +18,5 @@ public interface TestingWindow extends VisualizerForm {
|
|||||||
void ShowCurrentSapforPackageVersion();
|
void ShowCurrentSapforPackageVersion();
|
||||||
void ShowNoSapforPackageVersionEtalon();
|
void ShowNoSapforPackageVersionEtalon();
|
||||||
void ShowNoSapforPackageVersion();
|
void ShowNoSapforPackageVersion();
|
||||||
|
void FocusSapforTesting();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -241,7 +241,7 @@ public class MainForm extends Form implements MainWindow {
|
|||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void FocusTesting() {
|
public void FocusTesting() {
|
||||||
globalTabs.setSelectedIndex(3);
|
globalTabs.setSelectedIndex(4);
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public TestingWindow getTestingWindow() {
|
public TestingWindow getTestingWindow() {
|
||||||
|
|||||||
@@ -175,4 +175,8 @@ public class TestingForm implements FormWithSplitters, TestingWindow {
|
|||||||
Global.testingServer.account_db.sapforTasksPackages.mountUI(sapforTasksPackagesPanel);
|
Global.testingServer.account_db.sapforTasksPackages.mountUI(sapforTasksPackagesPanel);
|
||||||
Global.testingServer.account_db.sapforTasks.mountUI(sapforTasksPanel);
|
Global.testingServer.account_db.sapforTasks.mountUI(sapforTasksPanel);
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
|
public void FocusSapforTesting() {
|
||||||
|
testingTabs.setSelectedIndex(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user