onspli/composer-inject-repositories

插件从外部文件加载仓库定义并将它们注入到composer.json。

v0.1.0 2024-04-20 10:29 UTC

This package is auto-updated.

Last update: 2024-09-13 21:41:01 UTC


README

此Composer插件允许从外部文件加载仓库定义并将它们注入到composer.json。包含额外仓库的文件可以存储在本地或从远程位置(http、git)获取。

用法

您有多个存储在私有GitHub仓库中的composer包(因此不在公共packagist.org仓库中),并且您想在多个composer项目中使用这些包。

全局安装插件。

composer global require onspli/composer-inject-repositories

创建文件repos.json,列出您想要使用的所有仓库(如https://getcomposer.org.cn/doc/05-repositories.md中所述)

{
    "repositories": [
        {
            "type": "git",
            "url": "git@github.com:onspli/private-package-1.git"
        },
        {
            "type": "git",
            "url": "git@github.com:onspli/private-package-2.git"
        },
        {
            "type": "git",
            "url": "git@github.com:onspli/private-package-3.git"
        }
    ]
}

将额外选项inject-repositories添加到项目的composer.json

{
    "name": "onspli/project-using-private-repos",
    "type": "project",
    "extra": {
        "inject-repositories": [
            {
                "type": "local",
                "path": "/path/to/repos.json"
            },
            {
                "type": "remote",
                "url": "https://my-domain.cz/repos.json"
            },
            {
                "type": "git",
                "url": "git@github.com:onspli/private-repos.git",
                "file": "repos.json"
            }
        ]
    },
    "require": {
        "onspli/private-package-2": "dev-main"
    }
}

插件读取repos.json文件并将仓库注入到项目的composer.json,因此在composer调用期间它实际上看起来像

{
    "name": "onspli/project-using-private-repost",
    "type": "project",
    "require": {
        "onspli/private-package-2": "dev-main"
    },
    "repositories": [
        {
            "type": "git",
            "url": "git@github.com:onspli/private-package-1.git"
        },
        {
            "type": "git",
            "url": "git@github.com:onspli/private-package-2.git"
        },
        {
            "type": "git",
            "url": "git@github.com:onspli/private-package-3.git"
        }
    ]
}

详细模式

使用composer详细模式查看注入的文件和仓库

composer install --verbose