Skip to content

Commit 78c2da4

Browse files
Copilotnixel2007
andcommitted
Use РаботаСВерсиями module instead of local version comparison function
Co-authored-by: nixel2007 <1132840+nixel2007@users.noreply.github.com>
1 parent 6599b64 commit 78c2da4

File tree

1 file changed

+3
-47
lines changed

1 file changed

+3
-47
lines changed

src/core/Классы/КэшУстановленныхПакетов.os

Lines changed: 3 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,8 @@
4747
// Сначала пытаемся использовать семвер
4848
РезультатСравнения = Версии.СравнитьВерсии(УстановленнаяВерсия, ОписаниеЗависимости.МинимальнаяВерсия);
4949
Исключение
50-
// Если семвер не может обработать версию (например, 4-значную), используем простое сравнение
51-
// Это базовый fallback для не-семвер версий
52-
РезультатСравнения = СравнитьВерсииПростое(УстановленнаяВерсия, ОписаниеЗависимости.МинимальнаяВерсия);
50+
// Если семвер не может обработать версию (например, 4-значную), используем модуль РаботаСВерсиями
51+
РезультатСравнения = РаботаСВерсиями.СравнитьВерсии(УстановленнаяВерсия, ОписаниеЗависимости.МинимальнаяВерсия);
5352
КонецПопытки;
5453

5554
УстановленаКорректнаяВерсия = РезультатСравнения >= 0;
@@ -174,50 +173,7 @@
174173

175174
КонецФункции
176175

177-
// Простое сравнение версий для не-семвер форматов (например, 4-значных версий)
178-
// Возвращает 1, если ЭтаВерсия > БольшеЧемВерсия, -1 если ЭтаВерсия < БольшеЧемВерсия и 0, если они равны
179-
Функция СравнитьВерсииПростое(Знач ЭтаВерсия, Знач БольшеЧемВерсия)
180-
181-
// Разбиваем версии на компоненты
182-
КомпонентыЭтойВерсии = СтрРазделить(ЭтаВерсия, ".");
183-
КомпонентыБольшеЧемВерсии = СтрРазделить(БольшеЧемВерсия, ".");
184-
185-
// Определяем максимальное количество компонентов
186-
МаксКоличествоКомпонентов = Макс(КомпонентыЭтойВерсии.Количество(), КомпонентыБольшеЧемВерсии.Количество());
187-
188-
// Сравниваем по компонентам
189-
Для Сч = 0 По МаксКоличествоКомпонентов - 1 Цикл
190-
191-
КомпонентЭтаВерсия = 0;
192-
КомпонентБольшеЧем = 0;
193-
194-
Если Сч < КомпонентыЭтойВерсии.Количество() Тогда
195-
Попытка
196-
КомпонентЭтаВерсия = Число(КомпонентыЭтойВерсии[Сч]);
197-
Исключение
198-
КомпонентЭтаВерсия = 0;
199-
КонецПопытки;
200-
КонецЕсли;
201-
202-
Если Сч < КомпонентыБольшеЧемВерсии.Количество() Тогда
203-
Попытка
204-
КомпонентБольшеЧем = Число(КомпонентыБольшеЧемВерсии[Сч]);
205-
Исключение
206-
КомпонентБольшеЧем = 0;
207-
КонецПопытки;
208-
КонецЕсли;
209-
210-
Если КомпонентЭтаВерсия > КомпонентБольшеЧем Тогда
211-
Возврат 1;
212-
ИначеЕсли КомпонентЭтаВерсия < КомпонентБольшеЧем Тогда
213-
Возврат -1;
214-
КонецЕсли;
215-
216-
КонецЦикла;
217-
218-
Возврат 0;
219-
220-
КонецФункции
176+
221177

222178
Процедура ПриСозданииОбъекта(КаталогПоискаБиблиотек = "")
223179

0 commit comments

Comments
 (0)