Skip to content

Commit 260707f

Browse files
committed
Merge branch 'release/v0.5.2'
2 parents 2fb30f3 + 59831c5 commit 260707f

File tree

2 files changed

+33
-37
lines changed

2 files changed

+33
-37
lines changed

packagedef

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

22
Описание.Имя("v8runner")
3-
.Версия("0.5.1")
3+
.Версия("0.5.2")
44
.ВключитьФайл("src")
55
.ВключитьФайл("tests")
66
.ВключитьФайл("lib.config")

src/v8runner.os

+32-36
Original file line numberDiff line numberDiff line change
@@ -490,66 +490,62 @@
490490
КонецЕсли;
491491

492492
МассивКаталогов1С = Новый Массив;
493-
494-
МассивФайлов = Новый Массив;
495493
Для Каждого ВозможныйПуть Из КаталогиУстановкиПлатформы Цикл
496494

497495
Лог.Отладка("Выполняю попытку поиска версии в каталоге " + ВозможныйПуть);
498496

499-
РезультатПоиска = НайтиФайлы(ВозможныйПуть, ВерсияПлатформы+"*");
500-
//Если в данном каталоге установки платформы нет каталого с искомой версией не делать ничего, перейти к следующему возможному пути
501-
//Если есть каталоги с искомой версией тогда добавить их в общий массив результатов поиска
502-
Если НЕ РезультатПоиска.Количество() Тогда
503-
Продолжить;
504-
Иначе
505-
506-
Для Каждого Каталог ИЗ РезультатПоиска Цикл
507-
МассивФайлов.Добавить(Каталог);
508-
КонецЦикла;
509-
//Зафиксировать возможный путь, как подтвержденный путь где есть версии по заданной маске.
510-
ПодтвержденныйПуть = ВозможныйПуть;
511-
КонецЕсли;
512-
497+
МассивФайлов = НайтиФайлы(ВозможныйПуть, ВерсияПлатформы+"*");
513498
Если МассивФайлов.Количество() = 0 Тогда
514499
Лог.Отладка("Не найдено ни одного каталога с версией.");
515-
516500
Продолжить;
517501
КонецЕсли;
518502
Если МассивКаталогов1С = Неопределено Тогда
519503
МассивКаталогов1С = МассивФайлов;
520504
Иначе
521505
Для каждого Файл Из МассивФайлов Цикл
522506
МассивКаталогов1С.Добавить(Файл);
507+
Лог.Отладка("Нашел платформу 1С %1", Файл.Имя);
523508
КонецЦикла;
524509
КонецЕсли;
525510
КонецЦикла;
526511

527-
НужныйПуть = Неопределено;
512+
НужныйФайлПлатформы = Неопределено;
528513

529-
ИменаВерсий = Новый Массив;
530-
Для Каждого ЭлементМассива Из МассивФайлов Цикл
531-
правыйСимвол = Прав(ЭлементМассива.Имя,1);
514+
МассивКаталоговВерсий = Новый Массив;
515+
Для Каждого ЭлементМассива Из МассивКаталогов1С Цикл
516+
правыйСимвол = Прав(ЭлементМассива.Имя, 1);
532517
Если правыйСимвол < "0" или правыйСимвол > "9" Тогда
533518
Продолжить;
534519
КонецЕсли;
535-
ИменаВерсий.Добавить(ЭлементМассива.Имя);
520+
МассивКаталоговВерсий.Добавить(ЭлементМассива);
536521
КонецЦикла;
537522

538-
Если ИменаВерсий.Количество() > 0 Тогда
539-
МаксВерсия = ИменаВерсий[0];
540-
Для Сч = 1 По ИменаВерсий.Количество()-1 Цикл
541-
//Прежде чем проверять версию на максимум проверить ее на наличие исполняемого файла толстого клиента 1cv8.exe
542-
НужныйПуть = Новый Файл(ОбъединитьПути(ПодтвержденныйПуть, ИменаВерсий[Сч], "bin\1cv8.exe"));
543-
Если НужныйПуть.Существует() И МаксВерсия < ИменаВерсий[Сч] Тогда
544-
МаксВерсия = ИменаВерсий[Сч];
523+
Если МассивКаталоговВерсий.Количество() > 0 Тогда
524+
МаксВерсия = МассивКаталоговВерсий[0].Имя;
525+
НужныйФайлПлатформы = Новый Файл(ОбъединитьПути(МассивКаталоговВерсий[0].ПолноеИмя, "bin", "1cv8.exe"));
526+
527+
Для Сч = 1 По МассивКаталоговВерсий.ВГраница() Цикл
528+
ТекущаяВерсия = МассивКаталоговВерсий[Сч].Имя;
529+
Если МаксВерсия < ТекущаяВерсия Тогда
530+
ПутьБин = ОбъединитьПути(МассивКаталоговВерсий[Сч].ПолноеИмя, "bin");
531+
ПроверяемыйФайл = Новый Файл(ОбъединитьПути(ПутьБин, "1cv8.exe"));
532+
Если НЕ ПроверяемыйФайл.Существует() Тогда
533+
Продолжить;
534+
КонецЕсли;
535+
536+
МаксВерсия = ТекущаяВерсия;
537+
НужныйФайлПлатформы = ПроверяемыйФайл;
545538
КонецЕсли;
546539
КонецЦикла;
547540

548-
НужныйПуть = Новый Файл(ОбъединитьПути(ПодтвержденныйПуть, МаксВерсия, "bin\1cv8.exe"));
549-
Лог.Отладка("Версия найдена: " + НужныйПуть.ПолноеИмя);
541+
Если НужныйФайлПлатформы.Существует() Тогда
542+
Лог.Отладка("Версия найдена: " + НужныйФайлПлатформы.ПолноеИмя);
543+
Иначе
544+
НужныйФайлПлатформы = Неопределено;
545+
КонецЕсли;
550546
КонецЕсли;
551547

552-
Если НужныйПуть = Неопределено Тогда
548+
Если НужныйФайлПлатформы = Неопределено Тогда
553549
ВызватьИсключение "Не найден путь к платформе 1С <"+ВерсияПлатформы+">";
554550
КонецЕсли;
555551

@@ -559,14 +555,14 @@
559555
Если НЕ КаталогУстановки.Существует() Тогда
560556
КаталогУстановки = Новый Файл("/opt/1C/v8.3/x86_64");
561557
КонецЕсли;
562-
НужныйПуть = Новый Файл(Строка(КаталогУстановки.ПолноеИмя) + "/" + "1cv8");
558+
НужныйФайлПлатформы = Новый Файл(Строка(КаталогУстановки.ПолноеИмя) + "/" + "1cv8");
563559
КонецЕсли;
564560

565-
Если Не НужныйПуть.Существует() Тогда
566-
ВызватьИсключение "Ошибка определения версии платформы. Файл <"+НужныйПуть.ПолноеИмя+"> не существует";
561+
Если Не НужныйФайлПлатформы.Существует() Тогда
562+
ВызватьИсключение "Ошибка определения версии платформы. Файл <"+НужныйФайлПлатформы.ПолноеИмя+"> не существует";
567563
КонецЕсли;
568564

569-
Возврат НужныйПуть.ПолноеИмя;
565+
Возврат НужныйФайлПлатформы.ПолноеИмя;
570566

571567
КонецФункции
572568

0 commit comments

Comments
 (0)