vincentholmblad / bitbucket-packagist
一个简单的composer插件,它自动为托管在BitBucket上的私有仓库创建本地的packagist。
1.0
2018-05-13 19:17 UTC
Requires
- composer/satis: ^1.0
- gentle/bitbucket-api: ^1.1
- kriswallsmith/buzz: ^0.16
- wikimedia/composer-merge-plugin: ^1.4
This package is not auto-updated.
Last update: 2024-09-29 05:41:58 UTC
README
一个简单的库,它自动为托管在BitBucket上的私有仓库创建本地的packagist。
该项目有两个主要功能
- 从一个BitBucket上的用户或团队自动生成一个json文件,包含自动生成的仓库(vcs),可以合并到现有的composer.json文件中。这几乎相当于拥有一个私有Packagist的本地版本。
- 使用自动生成的json文件创建一个静态composer仓库(通过Satis),可以上传到服务器并为其他项目提供服务。
安装
composer require vincentholmblad/bitbucket-packagist
在安装此包后,将这些行添加到composer.json中。
// See https://bitbucket.org/account/user/<team or user>/api // There you can create an OAuth consumer // Make sure the consumer has access to read repositories "config": { "bitbucket_consumer_key": "key", "bitbucket_consumer_secret": "secret", "bitbucket_team": "team or user" }, // Merges scripts and repositories from the user or team extra: { "merge-plugin": { "include": [ "./vendor/vincentholmblad/bitbucket-packagist/bitbucket_packagist_scripts.json", "./vendor/vincentholmblad/bitbucket-packagist/packages.json" ], "merge-scripts": true } }
然后,每当您需要更新本地的packagist时,请运行composer run-script bb_composer_packages。
不推荐!如果您想自动更新本地的packagist以适应任何更改,那么也应将其包含在composer.json中。这将使更新和安装新包的过程非常缓慢,因为该过程必须检查从所有私有仓库加载的composer.json文件以构建packages.json文件。
// Automatically update local private packagist "scripts": { "pre-update-cmd": [ "@bb_composer_packages" ], "pre-install-cmd": [ "@bb_composer_packages" ] }
如果您想将结果上传到服务器,请运行composer run-script bb_composer_packages并将生成的文件夹(位于“vendor”目录中的包目录内的“./dist/”)上传到您选择的托管服务。然后您可以在composer.json中包含新的私有packagist,如下所示。
// Load repositores from private packagist "repositories": [ { "type": "composer", "url": "link to uploaded position" } ]
关于仓库的注意事项
请确保您想包含的每个仓库都有其自己的composer.json,其中至少包含一个名称和版本字段。此名称字段应与仓库名称相匹配。
以下是一个示例。
{
"name": "your-shorthand/repo-name",
"version": "master"
}