Skip to content

FIX: установка релиз-кандидатов #34

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Mar 25, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion src/core/Классы/ВерсииOneScript.os
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,8 @@

ТелоСтраницы = Ответ.ПолучитьТелоКакСтроку();

РегулярноеВыражение = Новый РегулярноеВыражение("<a href=""(\/downloads\/[^""]+)"">(\d+\.\d+\.\d+(\.\d+)?)");
РегулярноеВыражение = Новый РегулярноеВыражение(
"<a href=""(\/downloads\/[^""]+)"">(" + ПараметрыOVM.МаскаНомераВерсии() + ")<");
ИндексГруппыАдрес = 1;
ИндексГруппыВерсия = 2;

Expand Down
9 changes: 4 additions & 5 deletions src/core/Классы/ПараметрыOVM.os
Original file line number Diff line number Diff line change
Expand Up @@ -54,14 +54,13 @@
Возврат СистемнаяИнформация.Это64БитнаяОперационнаяСистема;
КонецФункции

// Количество разрядов в номере версии.
// В приложении используется версионирование вида 1.0.20
// Регулярное выражение точного номера версии.
//
// Возвращаемое значение:
// Число - Количество разрядов в номере версии
// Строка - Регулярное выражение
//
Функция КоличествоРазрядовВНомереВерсии() Экспорт
Возврат 3;
Функция МаскаНомераВерсии() Экспорт
Возврат "\d+\.\d+\.\d+(\.rc\d+?)?";
КонецФункции

СистемнаяИнформация = Новый СистемнаяИнформация;
11 changes: 9 additions & 2 deletions src/core/Классы/УстановщикOneScript.os
Original file line number Diff line number Diff line change
Expand Up @@ -303,8 +303,15 @@

КонецПроцедуры

Функция ЭтоТочныйНомерВерсии(ВерсияКУстановке)
РВ = Новый РегулярноеВыражение("^" + ПараметрыOVM.МаскаНомераВерсии() + "$");
РВ.ИгнорироватьРегистр = Ложь;
РВ.МногоСтрочный = Ложь;
Возврат РВ.Совпадает(ВерсияКУстановке);
КонецФункции

Процедура ПроверитьКорректностьПереданнойВерсии(Знач ВерсияКУстановке)
Если СтрРазделить(ВерсияКУстановке, ".").Количество() <> ПараметрыOVM.КоличествоРазрядовВНомереВерсии()
Если НЕ ЭтоТочныйНомерВерсии(ВерсияКУстановке)
И Не ВерсииOneScript.ДопустимыеАлиасы().СодержитКлюч(ВерсияКУстановке) Тогда

Лог.Ошибка("Версия имеет некорректный формат");
Expand All @@ -315,7 +322,7 @@

Функция ПолучитьПутьКСкачиваниюФайла(Знач ВерсияКУстановке, Знач ИспользоватьХ64, Знач ИспользоватьFDD)

Если СтрРазделить(ВерсияКУстановке, ".").Количество() = ПараметрыOVM.КоличествоРазрядовВНомереВерсии() Тогда
Если ЭтоТочныйНомерВерсии(ВерсияКУстановке) Тогда

КаталогВерсии = СтрЗаменить(ВерсияКУстановке, ".", "_");
ЭтоВерсия2 = СтроковыеФункции.СравнитьВерсии(ВерсияКУстановке, "2.0") >= 0;
Expand Down