Skip to content
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

Поддержать кросс-платформенные внешние компоненты #1379

Closed
EvilBeaver opened this issue Nov 21, 2023 · 7 comments

Comments

@EvilBeaver
Copy link
Owner

EvilBeaver commented Nov 21, 2023

Описание задачи

Сейчас ospx с внешними компонентами для версии 1 несовместим с версией 2. И если автор пакета просто перекомпилирует бинарь под v2, то его пакет потеряет совместимость с первой версией.

Опишите решение

Нужно поддержать загрузку бинарей компонент из зип-архивов, наподобие того, как делает 1С, либо сделать это на уровне стандартного загрузчика package-loader.os, чтобы он выбирал разные DLL (из разных папок, например, или с разными суффиксами имени)

Критерий успешности

Автор публикует один ospx на хабе, в нем так или иначе поставлены 2 версии DLL и рантаймы версии 1 и 2 работают, загружая правильный бинарь. При этом, решение предложено общее "типовое", а не каждый автор сам придумывает как решить эту задачу

@EvilBeaver
Copy link
Owner Author

@dmpas @Mr-Rm @nixel2007 и др. прошу высказываться

@nixel2007
Copy link
Collaborator

nixel2007 commented Nov 21, 2023

Вариант с пэкэдж лоадером мне нравится. Да и из СИ версию оскрипта достать легко. Только нужно какую-то сравнивалку версий завезти или в крайнем случае добавить версию интерфейса компонент 1/2 в си

@nixel2007
Copy link
Collaborator

Завезти - прям сразу же реализовать в пэкэджлоадере, для копипаста.

@nixel2007
Copy link
Collaborator

Ещё можно подумать над доработкой общего пэкэджлоадера. Например, добавить в опм новый метод "ОпределяетВнешнююКомпоненту", сложить её в манифест какой-нибудь, а в общем загрузчике потом из манифеста доставать. Вариант красивый, но потребует обновления опм на клиентах для работы. А в случае с лоадером под либу - нет

@dmpas
Copy link
Collaborator

dmpas commented Nov 21, 2023

Звучит хорошо.

@EvilBeaver
Copy link
Owner Author

Да и из СИ версию оскрипта достать легко. Только нужно какую-то сравнивалку версий завезти или в крайнем случае добавить версию интерфейса компонент 1/2 в си

Что такое СИ в данном ключе?

@nixel2007
Copy link
Collaborator

СистемнаяИнформация

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants