Composer minimum-stability doplňku

- hejdav
- Člen | 50
Ahoj, vysvětlíte mi prosím někdo chování composeru?
Dělám jeden doplněk pro Nette, teď je jedno jakej. Mám k tomu vyrobenou DEMO stránku.
V repu DEMO stránky mám composer.json a v něm prosté:
"require": {
"vladahejda/livetranslator": "@dev"
}
tzn. chci aby DEMO běželo na devu.
V repozitáři doplňku v dev-masteru mám tento composer.json:
"require": {
"nette/nette": "~2"
},
"minimum-stability": "RC"
tzn. běží pod Nette 2.2, ale to je zatím jen RC.
Pokud ale na DEMO repu spustím
composer update, natáhne se pouze Nette 2.1.2,
tj. poslední stable. Ignoruje to min stability definovanou v doplňku.
Správně to začne fungovat teprve, když i do DEMA přidám
"minimum-stability": "RC", jenže v DEMU mě
nezajímá jaký dependence má doplněk, jestli RC Nette nebo nějaký
jiný, přece?
Jak to tedy je? :) Díky
Editoval hejdav (1. 5. 2014 17:20)

- Michal Vyšinský
- Člen | 608
Ahoj,
zde: https://getcomposer.org/…04-schema.md#… je jasně
řečeno „root-only“. A je to podle mého správně, ty chceš, aby ten
konkrétní projekt měl nějakou minimální stabilitu a ne jen jeden doplněk.
Doplňek by měl mít přesně specifikovanou verzi, na které má běžet.

- voda
- Člen | 561
minimum-stability má vliv pouze v hlavním composer.json
souboru. Pokud tvůj doplněk závisí na Nette 2.2, uveď v
require sekci "nette/nette": "~2.2".

- Filip Procházka
- Moderator | 4668
Composer hledá verzi Nette, která bude vyhovovat require
pravidlu jak tvého doplňku tak i tvé aplikace. A protože tvůj doplněk
vyžaduje 2.1 tak se ti prostě nemůže nainstalovat 2.2.
Tohle chování nejde změnit a neměl by ses ho pokoušet měnit.
Prostě musíš buď tvůj doplněk předělat pro 2.2 a změnit mu require, udělat další vývojovou větev aby jel na 2.1 i 2.2, nebo svou aplikaci napsat pro 2.1.