dpp / composer-plugin
用于与 Drupal 项目平台集成的 Composer 插件
1.0.0-beta13
2024-04-16 14:47 UTC
Requires
- composer-plugin-api: ^2.3
Requires (Dev)
- composer/composer: ^2.6.4
- czproject/git-php: ^4.2
- friendsofphp/php-cs-fixer: ^3.22
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10
This package is auto-updated.
Last update: 2024-09-16 15:39:48 UTC
README
此插件增加了使用 DPP 包管理器的功能。
安装
由于需要在 composer 解析依赖之前存在,因此插件需要全局安装。
composer global config repositories.dpp-composer-plugin vcs https://gitlab.burdaverlag.dev/thunder/dpp-composer-plugin.git
composer global require dpp/composer-plugin
配置
通过命令导入现有项目
您可以使用自定义导入命令来配置现有项目。
composer dpp-onboard
它会自动更新您的 composer.json,以便您的项目为 DPP 设置,并最终执行 composer update
以确保所有依赖都得到支持。
选项
该命令允许您设置自己的 DPP 基础项目 git url
composer dpp-onboard --dpp-base-project-git-url git@gitlab.burdaverlag.dev:dpp/DPP-Base-Project.git
以及您首选的 DPP 版本约束
composer dpp-onboard --dpp-version ^2.0
手动配置您的 DPP 项目
将您的 DPP 基础项目的 git url 添加到 composer.json 的 extra 部分。
"extra": {
"dpp-base-project-git-url": "git@gitlab.burdaverlag.dev:dpp/DPP-Base-Project.git"
},
或者设置环境变量
COMPOSER_DPP_BASE_PROJECT_GIT_URL="git@gitlab.burdaverlag.dev:dpp/DPP-Base-Project.git"
此外,建议禁用 packagist.org 仓库。
"repositories": [
{
"packagist.org": false
}
]
使用
现在您可以在 composer.json 中设置 dpp 版本约束。
"require": {
"dpp/version": "^1.0.0"
},
所有其他必需的包都将由 DPP 包管理器解析。
开发模式
要创建一个具有对所有 packagist.org 包访问权限的 composer.dev.json
文件,请运行
composer dpp-create-dev-json
要使用 composer.dev.json
文件,请运行 composer 命令,如
COMPOSER=./composer.json.dev composer <command>
开发
创建一个新的目录,并添加一个包含以下内容的 composer.json 文件
{
"name": "dpp/dpp-project",
"type": "project",
"repositories": {
"dpp/composer-plugin": {
"type": "path",
"url": "../plugin"
}
},
"require": {
"dpp/composer-plugin": "^1",
"cweagans/composer-patches": "*"
},
"extra": {
"enable-patching": true,
"dpp-base-project-git-url": "git@gitlab.burdaverlag.dev:dpp/DPP-Base-Project.git"
},
"config": {
"allow-plugins": {
"dpp/composer-plugin": true
}
}
}
将 repositories 部分的 url 更改为插件目录的路径。
然后运行 composer install
以安装插件。
之后,您可以通过运行 composer require dpp/version
来测试插件。