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