Есть ли способ показать сообщение из репозитория Composer? - PullRequest
0 голосов
/ 13 апреля 2020

Если бы у меня был Composer репозиторий (не пакет Composer или Git), в котором перечислены пакеты и которые люди могут включить в свои composer.json в разделе repositories Можно ли отобразить сообщение от владельцев репозитория?

Так, например, если у меня есть репозиторий на example.com/packages.json, и пользователь добавляет следующее к composer.json своего проекта:

"repositories": [
        {
            "type": "composer",
            "url": "https://example.com"
        }

как мне добавить в мой packages.json что-нибудь, что говорит: "Здравствуйте, это репозиторий example.com"?

1 Ответ

1 голос
/ 16 апреля 2020

Способ действительно существует.

Вы можете решить, хотите ли вы отобразить сообщение "информация" или "предупреждение", а затем установить "инфо" или "предупреждение" в packages.json на сообщение, которое вы хотите отобразить.

Затем вам также нужно установить либо «info-версии», либо «warning-версии» на версии Composer, для которых вы хотите отобразить сообщение. Если вы хотите отобразить его для всех версий Composer, вы можете использовать >=0.0.0.

Если вам интересно, исходный код, где Composer вызывает функцию с именем outputWarnings для отображения сообщений: здесь .

Сообщения будут отображаться каждый раз, когда вы запускаете команду Composer, которая должна извлечь пакеты из хранилища, включая composer install , composer update и composer require.

Вот пример файла packages.json, который будет отображать как предупреждение, так и информационное сообщение:

{
    "packages": {},
    "warning": "Warning message",
    "warning-versions": ">=0.0.0",
    "info": "Info message",
    "info-versions": ">=0.0.0"
}

Я добавил этот файл в Суть . Вы можете попробовать его, добавив его в качестве хранилища в файл composer.json и затем запустив composer install:

    "repositories": [
        {
            "type": "composer",
            "url": "https://gist.githubusercontent.com/delenamalan/3c0d998a316031af8f0f9c0165eacc28/raw/491d2716bb8d36fea562633f2384340f560aceb6"
        }
    ],

Вот пример выходных данных:

$ composer install                                                        
Loading composer repositories with package information
Warning from https://gist.githubusercontent.com/delenamalan/3c0d998a316031af8f0f9c0165eacc28/raw/491d2716bb8d36fea562633f2384340f560aceb6: 
Warning message
Info from https://gist.githubusercontent.com/delenamalan/3c0d998a316031af8f0f9c0165eacc28/raw/491d2716bb8d36fea562633f2384340f560aceb6: 
Info message
Updating dependencies (including require-dev)
...