2012-07-25 16 views
23

Recientemente me he encontrado con el cambio en el compositor, lo que significa que el valor predeterminado minimum-stability es stable, y en lugar de establecerlo en dev me gustaría marcar algunas de mis bibliotecas como estables.¿Cómo marcar código como estable usando Composer?

De hecho, uso dos ramas relevantes, release y dev ramificadas desde master. De vez en cuando, algo se fusiona en release y se etiqueta como nueva versión.

¿Cómo determina el compositor la estabilidad de mis bibliotecas? ¿Existe una convención de nombres para las ramas, los nums de versión, una clave en composer.json?

Gracias

Respuesta

19

La respuesta es: Tags. También puede usar Alias, si no desea usar etiquetas. Pero vale la pena mencionar que solo debe marcar sus paquetes como estables, cuando sean estables y no hacer creer a otros que sí.

Actualización: un eslabón más: Stability

+1

Sabía que vería n eso en algún lugar. Entonces, cualquier cosa sin sufijo para RC, beta, alfa o parche es estable, incluso 0.0.x? – Adam

+7

Correcto. Todo lo que tenga una versión etiquetada, incluido 0.0.x, se considera estable. – igorw

+1

Las palabras 'stable' o' stability' no aparecen en ninguna parte de los enlaces de etiquetas o alias. Tal vez lo hicieron en algún momento. –

4

Abundando en la respuesta de KingCrunch, ya que esto no era inmediatamente obvio para mí.

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

Al publicar su paquete en Packagist, es capaz de inferir la versión de la (Git, SVN, hg) información VCS. Esto significa que no tiene que declararlo explícitamente.

Esto es muy fácil con Github: https://help.github.com/articles/working-with-tags/

Además:

Si va a crear paquetes a mano y realmente tiene que especificar que explícitamente, sólo puede agregar un campo de versión :

{ 
    "version": "1.0.0" 
} 
+0

Solo para aclarar, para mí el problema era que tenía un paquete que tenía este campo de "versión" especificado en su composer.json, lo que causaba que mi servidor privado de paquetes (Toran Proxy) ignorase las etiquetas que había agregado con git. – Maarten00

Cuestiones relacionadas