Структура каталогов
Узнайте о структуре файлов и папок, необходимой для Plugify, включая каталог `res` и файлы конфигурации.
Plugify придерживается определенной структуры каталогов для организации плагинов, языковых модулей и файлов конфигурации. Ниже приведен обзор необходимых папок и файлов.
Корневой каталог
Корневой каталог - это место, куда вы клонируете репозиторий Plugify и собираете проект. Он содержит следующее:
build/: Содержит скомпилированные бинарные файлы и артефакты сборки.res/: Основной каталог ресурсов для плагинов и языковых модулей.plugify.pconfig: Файл конфигурации для тестового приложенияplug.
Каталог ресурсов
Каталог res является центральным местом для плагинов и языковых модулей. Он имеет следующую структуру:
extensions/: Содержит отдельные папки плагинов.- Каждая папка плагина должна включать:
bin/: Содержит скомпилированные бинарные файлы плагина (например,.dll,.so)..pplugin: Файл манифеста плагина (например,my-plugin.pplugin).
- Каждая папка плагина должна включать:
extensions/: Содержит отдельные папки языковых модулей.- Каждая папка языкового модуля должна включать:
bin/: Содержит скомпилированные бинарные файлы модуля (например,.dll,.so)..pmodule: Файл манифеста языкового модуля (например,cpp-module.pmodule).
- Каждая папка языкового модуля должна включать:
Пример структуры каталогов
Вот пример того, как может выглядеть ваша структура каталогов:
- plugify/
- build/
- plugify.dll
- libplugify.so
- other_binaries
- res/
- extensions/
- my-plugin/
- bin/
- my-plugin.dll
- libmy-plugin.so
- my-plugin.pplugin
- another-plugin/
- bin/
- another-plugin.dll
- libanother-plugin.so
- another-plugin.pplugin
- cpp-module/
- bin/
- cpp-module.dll
- libcpp-module.so
- cpp-module.pmodule
- python-module/
- bin/
- python-module.dll
- libpython-module.so
- python-module.pmodule
- plugify.pconfig
Файл конфигурации
Файл plugify.pconfig требуется любому экземпляру Plugify для определения местоположения каталога res и настройки его поведения. Он должен быть размещен в корневом каталоге и содержать следующие поля: