2 Commits

Author SHA1 Message Date
ALEXks
f073663d1b fixed version 2026-02-24 16:37:19 +03:00
ALEXks
42eb14ddce remaned 2026-02-24 16:36:21 +03:00
16 changed files with 52 additions and 110 deletions

5
.idea/workspace.xml generated
View File

@@ -8,7 +8,10 @@
<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/_VisualDVM/Passes/Repository/DownloadRepositoryPass.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/Repository/DownloadRepositoryPass.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/properties" beforeDir="false" afterPath="$PROJECT_DIR$/properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Constants.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Constants.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Visual/Menus/MainMenuBar/VisualiserSettingsMenu/VersionsComparisonMenu.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Visual/Menus/MainMenuBar/VisualiserSettingsMenu/VersionsComparisonMenu.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Visual/Windows/ComparisonForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Visual/Windows/ComparisonForm.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" />

View File

@@ -27,12 +27,12 @@
"LocalMakePathWindows": "C:\\MinGW\\msys\\1.0\\bin\\make.exe", "LocalMakePathWindows": "C:\\MinGW\\msys\\1.0\\bin\\make.exe",
"PrecompilationFlags": " ", "PrecompilationFlags": " ",
"CheckTestingIntervalSeconds": 10, "CheckTestingIntervalSeconds": 10,
"AutoCheckTesting": true, "AutoCheckTesting": false,
"EmailOnTestingProgress": true, "EmailOnTestingProgress": true,
"CompleteCompilationOptions": true, "CompleteCompilationOptions": true,
"CompleteRunEnvironments": true, "CompleteRunEnvironments": true,
"CreateEthalonTasks": true, "CreateEthalonTasks": true,
"ErasePackageWorkspace": false, "ErasePackageWorkspace": true,
"lastMachineId": 13, "lastMachineId": 13,
"lastUserId": 24, "lastUserId": 24,
"lastCompilerId": 52, "lastCompilerId": 52,

View File

@@ -3,8 +3,8 @@ import Common.Utils.Vector_;
import java.util.Vector; import java.util.Vector;
public class Constants { public class Constants {
public static final int version = 1266; public static final int version = 1265;
public static final int planner_version = 27; public static final int planner_version = 24;
public static final int testingMaxKernels = 64; public static final int testingMaxKernels = 64;
//-- //--
public static final String ApplicationFileName = "VisualSapfor.jar"; public static final String ApplicationFileName = "VisualSapfor.jar";
@@ -105,7 +105,6 @@ public class Constants {
"starter.cpp", "starter.cpp",
"launcher.cpp", "launcher.cpp",
//-- //--
"json.hpp",
"Array.h", "Array.h",
"CompilationSupervisor.h", "CompilationSupervisor.h",
"CompilationTask.h", "CompilationTask.h",

View File

@@ -36,12 +36,12 @@ public class DownloadRepositoryPass extends ProcessPass {
if (pull) { if (pull) {
System.out.println("PULL"); System.out.println("PULL");
scriptLines.add("cd " + dst.getAbsolutePath()); scriptLines.add("cd " + dst.getAbsolutePath());
scriptLines.add("GIT_SSL_NO_VERIFY=true git pull"); scriptLines.add("git pull");
} else { } else {
Utils.CleanDirectory(dst); Utils.CleanDirectory(dst);
System.out.println("CLONE"); System.out.println("CLONE");
scriptLines.add("cd " + Utils_.DQuotes(Global.RepoDirectory.getAbsolutePath())); scriptLines.add("cd " + Utils_.DQuotes(Global.RepoDirectory.getAbsolutePath()));
scriptLines.add("GIT_SSL_NO_VERIFY=true git clone " + Utils_.DQuotes(url) + " " + Utils_.DQuotes(dst.getAbsolutePath())); scriptLines.add("git clone " + Utils_.DQuotes(url) + " " + Utils_.DQuotes(dst.getAbsolutePath()));
} }
if (hasSubmodules()) { if (hasSubmodules()) {
scriptLines.add("cd " + Utils_.DQuotes(dst)); scriptLines.add("cd " + Utils_.DQuotes(dst));

View File

@@ -200,18 +200,13 @@ public class DVMPackage extends TestingPackage<DVMPackage_json> {
return flags_in; return flags_in;
} }
public static String completeEnvironments(String environmentsSet_in) { public static String completeEnvironments(String environmentsSet_in) {
if (environmentsSet_in.isEmpty()){ if (!environmentsSet_in.contains("DVMH_NO_DIRECT_COPY")) {
return "DVMH_NO_DIRECT_COPY=" + Utils_.DQuotes("1")+" "+ "DVMH_SET_AFFINITY="+Utils_.DQuotes("0"); if (environmentsSet_in.isEmpty())
} return "DVMH_NO_DIRECT_COPY=" + Utils_.DQuotes("1");
//- else
String res = environmentsSet_in; return environmentsSet_in + " " + "DVMH_NO_DIRECT_COPY=" + Utils_.DQuotes("1");
if (!environmentsSet_in.contains("DVMH_NO_DIRECT_COPY")){ } else
res+=" DVMH_NO_DIRECT_COPY=" + Utils_.DQuotes("1"); return environmentsSet_in;
}
if (!environmentsSet_in.contains("DVMH_SET_AFFINITY")){
res+=" DVMH_SET_AFFINITY=" + Utils_.DQuotes("0");
}
return res;
} }
@Override @Override
public Class getJsonClass() { public Class getJsonClass() {

View File

@@ -19,4 +19,13 @@ public class DVMCompilationTask extends DVMTask {
maxtime = configuration.c_maxtime; maxtime = configuration.c_maxtime;
} }
//-- //--
@Override
public Vector<String> pack(Object arg) {
Vector<String> res = new Vector<>();
res.add(String.valueOf(id)); //1
res.add(String.valueOf(maxtime)); //2
res.add(String.valueOf(test_id)); //3
res.add(arg.toString().replace("\n", "|")); //4
return res;
}
} }

View File

@@ -90,6 +90,19 @@ public class DVMRunTask extends DVMTask {
args = rt.args; args = rt.args;
} }
//- //-
@Override
public Vector<String> pack(Object arg) {
Vector<String> res = new Vector<>();
res.add(String.valueOf(id)); //1
res.add(String.valueOf(maxtime)); //2
res.add(String.valueOf(dvmcompilationtask_id)); //3
res.add(matrix); //4
res.add(environments); //5
res.add(usr_par.replace("\n", "|")); //6
res.add(args); //7
res.add(String.valueOf(kernels)); //8
return res;
}
public String getEnvironments() { public String getEnvironments() {
return environments.replace("\n", ";"); return environments.replace("\n", ";");
} }

View File

@@ -83,6 +83,9 @@ public class DVMTask extends iDBObject {
"results", "results",
String.valueOf(id)).toFile(); String.valueOf(id)).toFile();
} }
public Vector<String> pack(Object arg) {
return null;
}
public String getResultFile(File resultFile) { public String getResultFile(File resultFile) {
String res = ""; String res = "";
if (dvm_package_id == CommonConstants.Nan) res = "задача ещё не выполнялась"; if (dvm_package_id == CommonConstants.Nan) res = "задача ещё не выполнялась";

View File

@@ -7,10 +7,6 @@ import _VisualDVM.Passes.All.UnzipFolderPass;
import _VisualDVM.TestingSystem.Common.TasksPackageState; import _VisualDVM.TestingSystem.Common.TasksPackageState;
import _VisualDVM.TestingSystem.DVM.DVMTasks.DVMCompilationTask; import _VisualDVM.TestingSystem.DVM.DVMTasks.DVMCompilationTask;
import _VisualDVM.TestingSystem.DVM.DVMTasks.DVMRunTask; import _VisualDVM.TestingSystem.DVM.DVMTasks.DVMRunTask;
import _VisualDVM.TestingSystem.DVM.json.DVMCompilationPackage_json;
import _VisualDVM.TestingSystem.DVM.json.CompilationTask_json;
import _VisualDVM.TestingSystem.DVM.json.DVMRunPackage_json;
import _VisualDVM.TestingSystem.DVM.json.RunTask_json;
import java.io.File; import java.io.File;
import java.util.Collections; import java.util.Collections;
@@ -75,26 +71,19 @@ public class RemoteDVMTestingPlanner extends DVMTestingPlanner {
//создать папку для пакета. //создать папку для пакета.
user.connection.RMDIR(packageRemoteWorkspace.full_name); user.connection.RMDIR(packageRemoteWorkspace.full_name);
user.connection.sftpChannel.mkdir(packageRemoteWorkspace.full_name); user.connection.sftpChannel.mkdir(packageRemoteWorkspace.full_name);
//--
DVMCompilationPackage_json compilationPackage_json = new DVMCompilationPackage_json();
DVMRunPackage_json runPackage_json = new DVMRunPackage_json();
//положить туда запакованные тексты задач. //положить туда запакованные тексты задач.
Vector<String> compilationLines = new Vector<>();
Vector<String> runLines = new Vector<>();
for (DVMCompilationTask compilationTask : testingPackage.package_json.compilationTasks) { for (DVMCompilationTask compilationTask : testingPackage.package_json.compilationTasks) {
String makefileText = generateMakefile(tests.get(compilationTask.test_id), compilationTask.language, testingPackage.drv, compilationTask.flags); String makefileText = generateMakefile(tests.get(compilationTask.test_id), compilationTask.language, testingPackage.drv, compilationTask.flags);
//-- compilationLines.addAll(compilationTask.pack(makefileText));
compilationPackage_json.tasks.add(new CompilationTask_json(compilationTask, makefileText)); for (DVMRunTask runTask : compilationTask.runTasks)
//-- runLines.addAll(runTask.pack(null));
for (DVMRunTask runTask : compilationTask.runTasks) {
//--
runPackage_json.tasks.add(new RunTask_json(runTask));
}
} }
//-- RemoteFile compilationPackage = new RemoteFile(packageRemoteWorkspace, "compilationTasks");
RemoteFile compilationFile_json = new RemoteFile(packageRemoteWorkspace, "compilationTasks.json"); RemoteFile runPackage = new RemoteFile(packageRemoteWorkspace, "runTasks");
RemoteFile runFile_json = new RemoteFile(packageRemoteWorkspace, "runTasks.json"); user.connection.writeToFile(String.join("\n", compilationLines) + "\n", compilationPackage);
//-- user.connection.writeToFile(String.join("\n", runLines) + "\n", runPackage);
user.connection.writeToFile(Utils_.gson.toJson(compilationPackage_json),compilationFile_json);
user.connection.writeToFile(Utils_.gson.toJson(runPackage_json), runFile_json);
// -- // --
user.connection.MKDIR(new RemoteFile(packageRemoteWorkspace, "state")); user.connection.MKDIR(new RemoteFile(packageRemoteWorkspace, "state"));
} }

View File

@@ -1,15 +0,0 @@
package _VisualDVM.TestingSystem.DVM.json;
import _VisualDVM.TestingSystem.DVM.DVMTasks.DVMCompilationTask;
import com.google.gson.annotations.Expose;
public class CompilationTask_json extends Task_json {
@Expose
public String test_name; //-
@Expose
public String makefile_text; //res.add(arg.toString().replace("\n", "|")); //4 todo в планировщике убрать шифровку
//--
public CompilationTask_json(DVMCompilationTask task, String makefile_text_in){
super(task);
test_name = String.valueOf(task.test_id);
makefile_text = makefile_text_in;
}
}

View File

@@ -1,3 +0,0 @@
package _VisualDVM.TestingSystem.DVM.json;
public class DVMCompilationPackage_json extends DVMPackage_json<CompilationTask_json> {
}

View File

@@ -1,9 +0,0 @@
package _VisualDVM.TestingSystem.DVM.json;
import com.google.gson.annotations.Expose;
import java.util.List;
import java.util.Vector;
public class DVMPackage_json<T extends Task_json> {
@Expose
public List<T> tasks = new Vector<>();
}

View File

@@ -1,3 +0,0 @@
package _VisualDVM.TestingSystem.DVM.json;
public class DVMRunPackage_json extends DVMPackage_json<RunTask_json>{
}

View File

@@ -1,26 +0,0 @@
package _VisualDVM.TestingSystem.DVM.json;
import _VisualDVM.TestingSystem.DVM.DVMTasks.DVMRunTask;
import com.google.gson.annotations.Expose;
public class RunTask_json extends Task_json {
@Expose
public int cores;
@Expose
public int compilation_task_id;
@Expose
public String matrix;
@Expose
public String args;
@Expose
public String environments;
@Expose
public String usr_par; //- usr_par.replace("\n", "|") todo в планировщике убрать шифровку.
public RunTask_json(DVMRunTask task){
super(task);
cores = task.kernels;
compilation_task_id = task.dvmcompilationtask_id;
matrix = task.matrix;
args = task.args;
environments = task.environments;
usr_par = task.usr_par;
}
}

View File

@@ -1,13 +0,0 @@
package _VisualDVM.TestingSystem.DVM.json;
import _VisualDVM.TestingSystem.DVM.DVMTasks.DVMTask;
import com.google.gson.annotations.Expose;
public class Task_json {
@Expose
public int id; //-
@Expose
public int maxtime;
public Task_json(DVMTask task){
id = task.id;
maxtime = task.maxtime;
}
}