2012-07-25 3 views
23

Recentemente mi sono imbattuto nel cambiamento di compositore, il che significa che il valore predefinito minimum-stability è stable e anziché impostare su dev Desidero contrassegnare alcune delle mie librerie come stabili.Come contrassegnare il codice come stabile usando Composer?

Attualmente utilizzo due rami pertinenti, release e dev diramati da master. Ogni tanto qualcosa viene unito a release e contrassegnato come nuova versione.

Come il compositore determina la stabilità delle mie librerie, esiste una convenzione di denominazione per rami, numeri di versione, una chiave in composit.json?

Grazie

risposta

19

La risposta è: Tags. Puoi anche usare Alias, se non vuoi usare i tag. Ma vale la pena di menzionare che dovresti contrassegnare i tuoi pacchi come stabili, quando sono stabili e non far credere agli altri di essere.

Update: Un altro link: Stability

+1

sapevo che avrei visto n che da qualche parte. Quindi qualsiasi cosa senza suffisso per RC, beta, alpha o patch è stabile, anche 0,0.x? – Adam

+7

corretto. Tutto ciò che ha un rilascio con tag, incluso 0.0.x, è considerato stabile. – igorw

+1

Le parole 'stable' o' stability' non compaiono da nessuna parte nei collegamenti di tag o alias. Forse lo hanno fatto ad un certo punto. –

4

Elaborando risposta di KingCrunch, dal momento che questo non è stato immediatamente ovvio per me.

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

Quando si pubblica il vostro pacchetto su Packagist, è in grado di dedurre la versione dal (git, svn, hg) informazioni VCS. Questo significa che non devi dichiararlo esplicitamente.

Questo è molto facile con Github: https://help.github.com/articles/working-with-tags/

Inoltre:

Se si sta creando pacchetti a mano e davvero bisogno di specificarlo in modo esplicito, si può semplicemente aggiungere un campo di versione :

{ 
    "version": "1.0.0" 
} 
+0

Giusto per chiarire, per me il problema era che avevo un pacchetto che aveva questo campo "versione" specificato nel suo compositore.json, che stava causando al mio server di pacchetti privato (Toran Proxy) di ignorare i tag che avevo aggiunto con git. – Maarten00