vincentholmblad/bitbucket-packagist

一个简单的composer插件,它自动为托管在BitBucket上的私有仓库创建本地的packagist。

1.0 2018-05-13 19:17 UTC

This package is not auto-updated.

Last update: 2024-09-29 05:41:58 UTC


README

一个简单的库,它自动为托管在BitBucket上的私有仓库创建本地的packagist。

该项目有两个主要功能

  1. 从一个BitBucket上的用户或团队自动生成一个json文件,包含自动生成的仓库(vcs),可以合并到现有的composer.json文件中。这几乎相当于拥有一个私有Packagist的本地版本。
  2. 使用自动生成的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"
}