Плагины - организация проектов; lvlibp vs lvlib

Создание приложений, библиотек, инсталляторов
Ответить
Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1236
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 23 раза
Поблагодарили: 30 раз
Контактная информация:

Плагины - организация проектов; lvlibp vs lvlib

Сообщение Kosist »

Уважаемые форумчане,

разрешите задать вопрос архитектурного характера.

Просто интерестно, у кого какой подход к организации проектов, использующих плагины? Скажем, у меня есть плагин для работы с железом, сделанный отдельным проектом. Плагины на основе классов + project packed libraries (lvlibp) (хотя можно использовать и не запакованные библиотеки).
Т.е., в готовом варианте все оформляется в пару файлов (lvlibp), где все запакованно внутри. Но, как лучше добавить все это дело в другой проект? Если добавлять так, то не будет возможности редактировать код - нужно будет редактировать "оригинальный" проект с плагином. Хорошо, если это уже много раз протестированная библиотека, в которой я уверен - но что если это свежий код, и есть возможность того, что что-то придется править? Тогда нужно будет делать правки, билды - и копировать их в целевой проект. Что, может быть, и не такая беда, но если у меня этих плагинов 10+ (скажем), то это проблематично.
Если же добавлять все без запаковывания в lvlibp, то будет куча файлов в целевом проекте... И опять будет проблема с поддержанием одинаковых, рабочих версий библиотек в оригинальной локации, и на "боевом" проекте.

Слышал, что для этого можно использовать SVN externals или же GIT submodules - но, честно говоря, опыта с этим у меня нет. Т.е. svn пользуюсь, но на простом уровне; а как работать с включением внешних репозитариев, не знаю. Но не суть.

Суть вот в чем - лучше все-таки использовать запакованные библиотеки, или работать напрямую с их "исходным кодом", т.е. библиотеками как они есть? Какой подход менее проблематичный? Всем заранее спасибо :wink:
Мы делили апельсин - много наших полегло...
Aleksandr

Gold
user
user
Сообщения: 97
Зарегистрирован: 21 июн 2011, 15:05
Награды: 1
Версия LabVIEW: 2009-2017
Откуда: Novosibirsk
Контактная информация:

Re: Плагины - организация проектов; lvlibp vs lvlib

Сообщение Aleksandr »

Можно просто сделать Post-build Action, который сам будет копировать в нужную директорию скомпилированные либы.
Вложения
Post-Build. Move Build (.lvlibp).vi
(12.29 КБ) 211 скачиваний
Uniscan Research
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: Плагины - организация проектов; lvlibp vs lvlib

Сообщение Blackman »

MGI Solution Explorer by Moore Good Ideas, Inc.- http://sine.ni.com/nips/cds/view/p/lang/ru/nid/215131

1. Build complex sets of related projects in the correct order
2. Makes using packed project libraries fast and easy
3. Any developer can easily build a project with no special knowledge
4. Supports running a VI, shell commands, and digital code signing
5. Also supports subsolutions and creating self-extracting zip files
6. Custom solution items allow developers to extend the framework to meet any specific need

MGI Solution Explorer 2.0 - http://www.mooregoodideas.com/mgi-solution-explorer-2/
Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1236
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 23 раза
Поблагодарили: 30 раз
Контактная информация:

Re: Плагины - организация проектов; lvlibp vs lvlib

Сообщение Kosist »

Aleksandr писал(а):Можно просто сделать Post-build Action, который сам будет копировать в нужную директорию скомпилированные либы.
Post-build Action в этом случае не решение, т.к. они не покрывают случая, когда я хочу либу скопировать в три других проекта. Я могу прописать пути на своем компе, но если распространять либы среди разработчиков, то пути не будут совпадать. Кто-то работает на диске D, кто-то на диске Е; кто-то называет локальную директорию полным именем проекта, кто-то сокращенным, и т.д. В рамке одного проекта да, это работает; но при распространении кода - будут проблемы...
Blackman писал(а):MGI Solution Explorer by Moore Good Ideas, Inc.- http://sine.ni.com/nips/cds/view/p/lang/ru/nid/215131
Blackman, спасибо! А Вы работали с этим тулом?

Но это все не снимает вопроса, что-таки лучше - распространять в новые проекты запакованные либы, или же не запакованные?
Плюс я думаю насчет использования их в TestStand - а на форумах некоторые пишут, что TestStand не очень дружит с lvlibp, т.к. могут все равно возникать конфликты виаек с одинаковыми именами. Плюс опять же, дебажить тест-последовательность будет тяжело, и править в случае lvlibp...
Мы делили апельсин - много наших полегло...
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Создание приложений»