Github, packagist, composer и веросионирование пакетов.

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Ответить
Аватара пользователя
Floor12
Сообщения: 21
Зарегистрирован: 2018.06.25, 15:12

Github, packagist, composer и веросионирование пакетов.

Сообщение Floor12 »

Всем привет!
Очень хочется, чтобы кто-то помог или кинул ссылок по поводу того, как правильно версионировать пакеты - у меня с этим возникают сложности.
Например, делаю какой-нибудь пакет для yii2, ставлю тег скажем 0.1.0, на гитхабе делаю релиз, в composer.json прописываю "minimum-stability": "stable".
После этого, если какой-то другой пакет на него ссылается в зависимостях, даже если указана жестко версия "0.1.0", то композер ругается что этот пакет в стадии dev-master, и требует понизить "minimum-stability" до dev, или же жестко указать в composer.json зависимость.

Например есть у меня пакет https://github.com/floor12/yii2-notification
Там есть версия 0.1.0, на https://packagist.org/packages/floor12/ ... tificationвидно 2 версии dev-master и 0.1.0, но composer ругается при добавлении ее в зависимости на уровень стабильности, даже когда указана конкретная версия.

Гугл как-то мне не очень помог. Может не так формулировал проблему )

Подскажите по этому вопросу. Хочу навести порядок во всех своих пакетах и в плане кода, и в плане оформления )
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Github, packagist, composer и веросионирование пакетов.

Сообщение zelenin »

"minimum-stability": "stable",

не надо нигде писать, если заведомо не требуется. По умолчанию оно и так везде стейбл тянет.

на гитхабе релиз нужно делать, если только есть что релизить (бинарники положить, чейнджлог указать итд). Можно обойтись git tag 0.1.0 && git push --mirror
Аватара пользователя
Floor12
Сообщения: 21
Зарегистрирован: 2018.06.25, 15:12

Re: Github, packagist, composer и веросионирование пакетов.

Сообщение Floor12 »

Да на самом деле я только-только понял, что любая версия начинающаяся с нуля, например 0.4.1 или v0.4.1 будет считаться dev, и только 1.0.0 будет нормально ставиться в "minimum-stability": "stable".

Не мало времени у меня ушло, чтобы разобраться в этом.
Ответить