roundcube / plugin-installer
Roundcube 插件和皮肤的 composer 安装器。
0.3.8
2024-08-21 09:25 UTC
Requires
- php: >=7.3 <=8.4
- composer-plugin-api: ^2.1
- roundcube/roundcubemail: *
Requires (Dev)
- composer/composer: ^2.1
- ergebnis/composer-normalize: ^2.13
- friendsofphp/php-cs-fixer: ^3.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan: ^1.2
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-strict-rules: ^1.3
README
此安装器确保插件和皮肤被放置在正确的目录中
- 插件 -
<roundcube-root>/plugins/plugin-name
- 皮肤 -
<roundcube-root>/skins/skin-name
最小配置
- 在您的插件仓库中创建一个
composer.json
文件 - 添加以下内容
插件 sample composer.json
{
"name": "<your-vendor-name>/<plugin-name>",
"type": "roundcube-plugin",
"license": "GPL-3.0-or-later",
"require": {
"roundcube/plugin-installer": ">=0.3.0"
}
}
皮肤 sample composer.json
{
"name": "<your-vendor-name>/<skin-name>",
"type": "roundcube-skin",
"license": "GPL-3.0-or-later",
"require": {
"roundcube/plugin-installer": ">=0.3.0"
}
}
Roundcube 特定 composer.json 参数
对于插件和皮肤,您可以选择性地将以下部分添加到您的 composer.json
文件中。所有属性都是可选的,以下提供示例值。persistent-files
定义了一个应该跨更新维护的文件列表。默认情况下,只维护 config.inc.php
。数组应包含相对于您插件根目录的路径。
"extra": {
"roundcube": {
"min-version": "1.4.0",
"sql-dir": "./SQL",
"post-install-script": "./bin/install.sh",
"post-update-script": "./bin/update.sh",
"persistent-files": ["config.inc.php", "skins/elastic/_custom.less"]
}
}
配置
此安装器将在安装每个插件或皮肤时询问您是否想要启用它。要始终启用所有插件或皮肤,请将 enable-plugin
/enable-skin
添加到 Roundcube 目录根目录中的 composer.json
中的 config
部分。当卸载包时,Composer 不会删除文件夹。要删除文件夹,请在您的配置中设置 uninstall-remove-folder
。
"config": {
"roundcube": {
"enable-plugin": true,
"enable-skin": true,
"uninstall-remove-folder": true
}
}
仓库
将您的插件或皮肤提交到 Packagist。
安装
- 克隆 Roundcube
cp composer.json-dist composer.json
- 在 composer.json 的
require
部分添加您的插件 composer.phar install
请参阅 plugins.roundcube.net 上的完整故事。