Страница 1 из 1

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

Добавлено: 16 май 2017, 23:27
Kosist
Уважаемые форумчане,

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

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

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

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

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

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

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

Добавлено: 17 май 2017, 12:21
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/

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

Добавлено: 17 май 2017, 15:37
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...