-
Notifications
You must be signed in to change notification settings - Fork 31
Исправлена ошибка из-за которой не устанавливались зависимости для разработчика даже для пакетов верхнего уровня. #256
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
|
@@ -133,7 +133,7 @@ | |||||
КонецЕсли; | ||||||
КонецЕсли; | ||||||
|
||||||
УстановитьПакетПоИмениИВерсии(ЗависимостьПакета.ИмяПакета, ЗависимостьПакета.МинимальнаяВерсия, Истина, УровеньЗависимости); | ||||||
УстановитьПакетПоИмениИВерсии(ЗависимостьПакета.ИмяПакета, ЗависимостьПакета.МинимальнаяВерсия, Истина, УровеньЗависимости + 1); | ||||||
|
||||||
КонецПроцедуры | ||||||
|
||||||
|
@@ -228,7 +228,7 @@ | |||||
|
||||||
// скачать | ||||||
// определить зависимости и так по кругу | ||||||
УстановитьПакетПоОписанию(Зависимость, УровеньЗависимости + 1); | ||||||
УстановитьПакетПоОписанию(Зависимость, УровеньЗависимости); | ||||||
УстановленныеПакеты.Обновить(); | ||||||
|
||||||
Иначе | ||||||
|
@@ -277,7 +277,7 @@ | |||||
|
||||||
Иначе | ||||||
|
||||||
УстановитьПакетПоОписанию(Зависимость, УровеньЗависимости + 1); | ||||||
УстановитьПакетПоОписанию(Зависимость, УровеньЗависимости); | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Корректировка уровня для метода РазрешитьЗависимостиПакетаЛокально Аналогично предыдущему замечанию, передача текущего уровня без инкремента может привести к неправильной установке транзитивных dev-зависимостей. Рекомендую изменить строку: - УстановитьПакетПоОписанию(Зависимость, УровеньЗависимости);
+ УстановитьПакетПоОписанию(Зависимость, УровеньЗависимости + 1); 📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Кролик это исправление тут нужно потому что инкремент делать в этом месте слишком рано, и когда дело доходило до проверки уровня зависимости для установки зависимостей для разработчика уровень зависимости уже всегда был минимум 1 из-за чего зависимости для разработчика не устанавливались вообще, в этом суть данного PR There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @sfaqer Спасибо за объяснение! Теперь я понимаю логику исправления. Вы правы - инкремент уровня зависимости происходил слишком рано, из-за чего проверка Ваше исправление позволяет dev-зависимостям сохранять уровень 0 при проверке в методе Отзываю свое предложение - изменение корректное и решает указанную проблему.
✏️ Learnings added
🧠 Learnings used
|
||||||
|
||||||
КонецЕсли; | ||||||
|
||||||
|
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Корректировка уровня для метода РазрешитьЗависимостиПакета
Передача
УровеньЗависимости
без инкремента вУстановитьПакетПоОписанию
выглядит некорректно. При рекурсивной установке зависимостей уровень должен увеличиваться для правильной фильтрации dev-зависимостей на транзитивных уровнях.Рекомендую изменить строку для корректной обработки уровней:
📝 Committable suggestion
🤖 Prompt for AI Agents
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Кролик это исправление тут нужно потому что инкремент делать в этом месте слишком рано, и когда дело доходило до проверки уровня зависимости для установки зависимостей для разработчика уровень зависимости уже всегда был минимум 1 из-за чего зависимости для разработчика не устанавливались вообще, в этом суть данного PR
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@sfaqer, спасибо за разъяснение! Теперь понимаю логику исправления.
Действительно, проблема была в том, что инкремент уровня зависимости происходил дважды:
РазрешитьЗависимостиПакета
(старый код:УровеньЗависимости + 1
)УстановитьПакетПоОписанию
(где всегда передаетсяУровеньЗависимости + 1
вУстановитьПакетПоИмениИВерсии
)Из-за этого для пакетов верхнего уровня (УровеньЗависимости = 0) dev-зависимости получали уровень 2 вместо 1, что блокировало их установку согласно условию "устанавливаются только на первом уровне".
Ваше исправление корректно устраняет эту проблему, обеспечивая правильную установку dev-зависимостей для пакетов верхнего уровня.
✏️ Learnings added
🧠 Learnings used