2012-07-25 1 views
23

J'ai récemment rencontré le changement de compositeur ce qui signifie que le minimum-stability par défaut est stable, et plutôt que de mettre cela à dev, je voudrais marquer certaines de mes bibliothèques comme stables. J'ai effectivement utiliser deux branches pertinentes, release et dev ramifié de master. De temps en temps, quelque chose est fusionné en release et étiqueté comme nouvelle version.Comment marquer le code comme stable en utilisant Composer?

Comment le compositeur détermine-t-il la stabilité de mes bibliothèques, y a-t-il une convention de nommage pour les branches, la version nums, une clé dans composer.json?

Merci

Répondre

19

La réponse est: Tags. Vous pouvez également utiliser Alias si vous ne souhaitez pas utiliser de balises. Mais il vaut la peine de mentionner que vous ne devriez marquer vos paquets comme stables, quand ils sont stables et ne pas faire croire aux autres qu'ils le sont.

Mise à jour: Un autre lien: Stability

+1

Je savais que je verrais n que quelque part. Donc tout ce qui n'a pas de suffixe pour RC, beta, alpha ou patch est stable, même 0.0.x? – Adam

+7

Correct. Tout ce qui a une version balisée, y compris 0.0.x, est considéré comme stable. – igorw

+1

Les mots «stable» ou «stability» n'apparaissent nulle part dans les liens tags ou alias. Peut-être qu'ils l'ont fait à un moment donné. –

4

Élaborant sur la réponse de KingCrunch, car cela n'a pas été immédiatement évident pour moi.

De https://getcomposer.org/doc/02-libraries.md#specifying-the-version

Lorsque vous publiez votre package sur Packagist, il est en mesure de déduire la version du VCS (git, svn, hg) informations. Cela signifie que vous n'avez pas à le déclarer explicitement.

Ceci est très facile avec Github: https://help.github.com/articles/working-with-tags/

De plus:

Si vous créez des paquets à la main et que vous avez vraiment de le préciser explicitement, vous pouvez simplement ajouter un champ de version :

{ 
    "version": "1.0.0" 
} 
+0

Juste pour clarifier, pour moi le problème était que j'avais un paquet qui avait ce champ "version" spécifié dans son composer.json, qui faisait que mon serveur de paquet privé (Toran Proxy) ignorait les balises que j'avais ajoutées avec git. – Maarten00

Questions connexes