v++
доделал копирование папок для тестов. не было учтено наличие подверсий.
This commit is contained in:
8
.idea/workspace.xml
generated
8
.idea/workspace.xml
generated
@@ -7,13 +7,11 @@
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
|
||||
<change afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/SPF_RemoveComments.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/icons/Transformations/SPF_RemoveComments.png" 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/TransformationsMenu.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/UI/Menus_2023/MainMenuBar/TransformationsMenu.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/Common/Utils/Utils.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Utils/Utils.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Repository/Component/Visualiser.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/Component/Visualiser.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/PassCode_2021.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/PassCode_2021.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/Test/Test.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/Test/Test.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/CreateTestFromDirectory.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/CreateTestFromDirectory.java" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
|
||||
@@ -108,7 +108,8 @@ public class Utils {
|
||||
int di = fn.lastIndexOf(".");
|
||||
return (di >= 0) ? fn.substring(di + 1).toLowerCase() : "";
|
||||
}
|
||||
public static String getExtensionByName(String fn) {;
|
||||
public static String getExtensionByName(String fn) {
|
||||
;
|
||||
int di = fn.lastIndexOf(".");
|
||||
return (di >= 0) ? fn.substring(di + 1).toLowerCase() : "";
|
||||
}
|
||||
@@ -1136,15 +1137,7 @@ public class Utils {
|
||||
}
|
||||
//--
|
||||
public static boolean isVersion(File directory) throws Exception {
|
||||
File[] files = directory.listFiles(File::isDirectory);
|
||||
if (files!=null){
|
||||
for (File file: files){
|
||||
File data = new File(file, Constants.data);
|
||||
if (data.exists())
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
return new File(directory, Constants.data).exists();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@ public class Visualiser extends Component {
|
||||
//http://www.seostella.com/ru/article/2012/02/05/formatirovanie-daty-v-java.html
|
||||
@Override
|
||||
public void GetVersionInfo() {
|
||||
version = 1039;
|
||||
version = 1040;
|
||||
String pattern = "MMM dd yyyy HH:mm:ss";
|
||||
DateFormat df = new SimpleDateFormat(pattern, Locale.ENGLISH);
|
||||
date_text = df.format(getClassBuildTime());
|
||||
|
||||
@@ -88,7 +88,18 @@ public class Test extends riDBObject {
|
||||
File tempArchive = getTempArchive();
|
||||
//- создать бд.
|
||||
FileUtils.forceMkdir(tempProject);
|
||||
FileUtils.copyDirectory(dir, tempProject);
|
||||
File[] files = dir.listFiles();
|
||||
if (files == null)
|
||||
throw new PassException("Не удалось получить список файлов папки " + Utils.Brackets(dir));
|
||||
//--
|
||||
//предполагается, что тут уже нет вложенных подпапок кроме версий. поэтому копируем только файлы.
|
||||
for (File file : files) {
|
||||
if (file.isFile()) {
|
||||
System.out.println(file.getAbsolutePath());
|
||||
File dst = new File(tempProject, file.getName());
|
||||
FileUtils.copyFile(file, dst);
|
||||
}
|
||||
}
|
||||
//---
|
||||
Utils.ClearProjectData(tempProject);
|
||||
//--
|
||||
@@ -134,8 +145,7 @@ public class Test extends riDBObject {
|
||||
public String getFilesForTable() {
|
||||
return files.replace("\n", ";");
|
||||
}
|
||||
|
||||
public LinkedHashMap<LanguageName, Vector<ProjectFile>> getPrograms(){
|
||||
public LinkedHashMap<LanguageName, Vector<ProjectFile>> getPrograms() {
|
||||
LinkedHashMap<LanguageName, Vector<ProjectFile>> res = new LinkedHashMap<>();
|
||||
//--
|
||||
res.put(LanguageName.fortran, new Vector<>());
|
||||
@@ -143,7 +153,7 @@ public class Test extends riDBObject {
|
||||
res.put(LanguageName.cpp, new Vector<>());
|
||||
//--
|
||||
String[] files_names = files.split("\n");
|
||||
for (String file_name: files_names){
|
||||
for (String file_name : files_names) {
|
||||
ProjectFile file = new ProjectFile(new File(file_name));
|
||||
//--
|
||||
if (!file.state.equals(FileState.Excluded) &&
|
||||
@@ -153,5 +163,4 @@ public class Test extends riDBObject {
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -81,7 +81,10 @@ public class CreateTestFromDirectory extends Pass_2021<Test> {
|
||||
Log.Writeln_("Имя файла " + Utils.Brackets(file.getName()) + " содержит запрещённые символы " + Constants.all_forbidden_characters_string + ", или кириллицу.");
|
||||
bad++;
|
||||
}
|
||||
if (file.isDirectory() && !file.getName().equalsIgnoreCase(Constants.data) && Utils.isVersion(file)) {
|
||||
if (file.isDirectory() &&
|
||||
!file.getName().equalsIgnoreCase(Constants.data) &&
|
||||
!Utils.isVersion(file)
|
||||
) {
|
||||
subdirs++;
|
||||
}
|
||||
if (file.isFile()) {
|
||||
@@ -140,7 +143,7 @@ public class CreateTestFromDirectory extends Pass_2021<Test> {
|
||||
File tempProject = target.packCode(dir, true); //создание копии папки, и архивация.
|
||||
//-- получить размерность консольным сапфором. папка уже отправлена и чистить ее не нужно!!
|
||||
ShowMessage2("Синтаксический анализ и определение размерности");
|
||||
if (group.language.equals(LanguageName.fortran)&&!Sapfor.getMinMaxDim(Sapfor.getTempCopy(Current.getSapfor().getFile()), tempProject, target))
|
||||
if (group.language.equals(LanguageName.fortran) && !Sapfor.getMinMaxDim(Sapfor.getTempCopy(Current.getSapfor().getFile()), tempProject, target))
|
||||
Log.Writeln_("Не удалось определить размерность теста " + Utils.Brackets(tempProject.getName()));
|
||||
}
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user