Skip to content

Semver #235

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 3 commits into from
May 26, 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
2 changes: 1 addition & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
strategy:
fail-fast: false
matrix:
oscript_version: ['stable', 'default']
oscript_version: ['stable', 'default', 'dev']
uses: autumn-library/workflows/.github/workflows/test.yml@main
with:
oscript_version: ${{ matrix.oscript_version }}
15 changes: 9 additions & 6 deletions packagedef
Original file line number Diff line number Diff line change
Expand Up @@ -13,21 +13,24 @@
Константы_ЛокальнаяВерсия = ЗагрузитьСценарий(ПутьКСценариюКонстант);
ВерсияПродукта = Константы_ЛокальнаяВерсия.ВерсияПродукта;
Иначе
ВерсияПродукта = "1.3.0";
ВерсияПродукта = "1.4.0";
КонецЕсли;

Описание.Имя("opm")
.Версия(ВерсияПродукта)
.ВерсияСреды("1.9.2")
.ЗависитОт("strings", "0.5.0")
.ЗависитОт("fs", "1.2.0")
.ЗависитОт("asserts", "1.3.0")
.ЗависитОт("fluent", "0.6.1")
.ЗависитОт("logos", "1.3.0")
.ЗависитОт("cli", "0.10.2")
.ЗависитОт("tempfiles", "1.0.0")
.ЗависитОт("gitrunner", "1.6.2")
.ЗависитОт("logos", "1.7.1")
.ЗависитОт("cli", "0.11.0")
.ЗависитОт("tempfiles", "1.1.1")
.ЗависитОт("gitrunner", "1.7.1")
.ЗависитОт("reflector", "0.7.1")
.ЗависитОт("semver", "1.0.0")
.РазработкаЗависитОт("asserts", "1.4.0")
.РазработкаЗависитОт("1bdd", "1.15.1")
.РазработкаЗависитОт("1testrunner", "1.9.2")
.ВключитьФайл("packagedef")
.ВключитьФайл("src")
.ВключитьФайл("tasks")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@

#Использовать fs
#Использовать logos
#Использовать semver

Перем Лог;

Expand Down Expand Up @@ -29,7 +30,7 @@
УстановленнаяВерсия = МетаОписаниеПакета.Свойства().Версия;
Иначе
// @deprecated
УстановленнаяВерсия = 0;
УстановленнаяВерсия = "0";
КонецЕсли;
Лог.Отладка("ПакетУстановлен: Перед вызовом СравнитьВерсии(ЭтаВерсия = <%1>, БольшеЧемВерсия = <%2>)", УстановленнаяВерсия, ОписаниеЗависимости.МинимальнаяВерсия);

Expand All @@ -40,7 +41,7 @@
УстановленаКорректнаяВерсия = Ложь;
Иначе
УстановленаКорректнаяВерсия = ОписаниеЗависимости.МинимальнаяВерсия = Неопределено
ИЛИ РаботаСВерсиями.СравнитьВерсии(УстановленнаяВерсия, ОписаниеЗависимости.МинимальнаяВерсия) >= 0;
ИЛИ Версии.СравнитьВерсии(УстановленнаяВерсия, ОписаниеЗависимости.МинимальнаяВерсия) >= 0;
КонецЕсли;

Лог.Отладка("Пакет установлен: " + ПакетУстановлен);
Expand Down
2 changes: 1 addition & 1 deletion src/core/Модули/КонстантыOpm.os
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,5 @@
ПутьВЗапасномХранилище = "/download/";
ЛокальныйКаталогУстановкиПакетов = "oscript_modules";
ИмяЛога = "oscript.app.opm";
ВерсияПродукта = "1.3.0";
ВерсияПродукта = "1.4.0";
ИмяФайлаНастроек = "opm.cfg";
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#Использовать logos
#Использовать semver

Перем Лог;

Expand Down Expand Up @@ -33,7 +34,7 @@
ТребуемаяВерсияМанифеста,
ТекущаяВерсияМанифеста
);
Если РаботаСВерсиями.СравнитьВерсии(ТребуемаяВерсияМанифеста, ТекущаяВерсияМанифеста) > 0 Тогда
Если Версии.СравнитьВерсии(ТребуемаяВерсияМанифеста, ТекущаяВерсияМанифеста) > 0 Тогда
ТекстСообщения = СтрШаблон(
"Ошибка установки пакета <%1>: Обнаружена устаревшая версия opm.
|Требуемая версия: %2
Expand Down Expand Up @@ -61,7 +62,15 @@
СистемнаяИнформация = Новый СистемнаяИнформация;
ВерсияСреды = СистемнаяИнформация.Версия;
Лог().Отладка("ПроверитьВерсиюСреды: Перед вызовом СравнитьВерсии(ЭтаВерсия = <%1>, БольшеЧемВерсия = <%2>)", ТребуемаяВерсияСреды, ВерсияСреды);
Если РаботаСВерсиями.СравнитьВерсии(ТребуемаяВерсияСреды, ВерсияСреды) > 0 Тогда

Попытка
// До приведения версии движка к семверу
РезультатСравнения = РаботаСВерсиями.СравнитьВерсии(ТребуемаяВерсияСреды, ВерсияСреды);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ночник приведен к семверу начиная с 2.0.0-rc.7+591, однако старые версии 1.x остаются четырехзначными

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Всё так, именно по этому тут старый вариант в попытке, а в исключении semver

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Может просто тогда нафиг не нужен семвер, я про это?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Как вариант, семвер делать в попытке, а в исключении старый вариант. И пометить его как устаревший

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Старый парсер на 4 компонента раcсчитан и падает на "2.0.0.rc", а semver не падает а корректно разбирает и сравнивает, кроме того с семвером я смогу в ванюните указать с какого RC он будет работать и это будет корректно проверятся например.
ИМХО нужен

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ну и с семвером можно ещё например вот такие штуки делать:
image

Исключение
РезультатСравнения = Версии.СравнитьВерсии(ТребуемаяВерсияСреды, ВерсияСреды);
КонецПопытки;

Если РезультатСравнения > 0 Тогда
ТекстСообщения = СтрШаблон(
"Ошибка установки пакета <%1>: Обнаружена устаревшая версия движка OneScript.
|Требуемая версия: %2
Expand Down