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

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

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

Postby Kosist on 16 May 2017, 23:27

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

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

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

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

Суть вот в чем - лучше все-таки использовать запакованные библиотеки, или работать напрямую с их "исходным кодом", т.е. библиотеками как они есть? Какой подход менее проблематичный? Всем заранее спасибо :wink:
Мы делили апельсин - много наших полегло...
User avatar
Kosist
leader
leader
 
Posts: 723
Joined: 21 Feb 2011, 23:44
Location: СумГУ
Medals: 2
Activity (1) Gold (1)
LabVIEW Version: 2013-2017
Karma: 221
CLAD I/O VIP students

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

Postby Aleksandr on 17 May 2017, 09:06

Можно просто сделать Post-build Action, который сам будет копировать в нужную директорию скомпилированные либы.
Attachments
Post-Build. Move Build (.lvlibp).vi
(12.29 KiB) Downloaded 18 times
Uniscan Research
Aleksandr
user
user
 
Posts: 92
Joined: 21 Jun 2011, 15:05
Location: Novosibirsk
Medals: 1
Gold (1)
LabVIEW Version: 2010-2014
Karma: 61
students

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

Postby Blackman on 17 May 2017, 12:21

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/
Blackman
leader
leader
 
Posts: 611
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 146

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

Postby Kosist on 17 May 2017, 15:37

Aleksandr wrote:Можно просто сделать Post-build Action, который сам будет копировать в нужную директорию скомпилированные либы.

Post-build Action в этом случае не решение, т.к. они не покрывают случая, когда я хочу либу скопировать в три других проекта. Я могу прописать пути на своем компе, но если распространять либы среди разработчиков, то пути не будут совпадать. Кто-то работает на диске D, кто-то на диске Е; кто-то называет локальную директорию полным именем проекта, кто-то сокращенным, и т.д. В рамке одного проекта да, это работает; но при распространении кода - будут проблемы...
Blackman wrote: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...
Мы делили апельсин - много наших полегло...
User avatar
Kosist
leader
leader
 
Posts: 723
Joined: 21 Feb 2011, 23:44
Location: СумГУ
Medals: 2
Activity (1) Gold (1)
LabVIEW Version: 2013-2017
Karma: 221
CLAD I/O VIP students


Return to Создание приложений

Who is online

Users browsing this forum: No registered users and 1 guest

cron