Pregunta

Dist :: Hace Zilla varios meses. Sin embargo, al YAPC :: NA alguien mencionó que utilizan ShipIt lugar. Entonces hoy me di cuenta de un archivo .shipit en cpanminus en github , así que decidí buscar en ella alguna más ...

Mi impresión inicial es que ShipIt tiene un subconjunto de lo que está disponible con Dist :: Zilla, pero no quiere saltar a conclusiones. Por lo tanto, para aquellos que han tenido experiencia con ambos, ¿cuáles son las fortalezas / debilidades de ShipIt vs Dist :: Zilla ?

crossposted en perlmonks

¿Fue útil?

Solución

Soy el autor de Dist :: Zilla.

Me evaluó ShipIt bastante extensivamente antes de elegir a seguir adelante y escribir Dist :: Zilla, y en un principio se cubrió casi exactamente el mismo espacio del problema: hacer todo el trabajo del ronco aburrida de la construcción y la carga de una distribución CPAN. Todas las características que Dist :: Zilla tiene ahora más allá de ShipIt son añadidos posteriores, más o menos.

Si sólo necesita las características de ShipIt, I Todavía aconsejarle a considerar seriamente Dist :: Zilla, por una razón muy simple: hackability. Si yo hubiera sido capaz de no ShipIt escribir algo nuevo, yo he utilizado, pero lo encontré a ser poco documentadas y difícil de ampliar. Sus plugins no eran lo suficientemente genérico y el comportamiento del núcleo realizado varias hipótesis acerca de cómo desea el trabajo.

Dist :: Zilla se inspiró específicamente por este problema:. Que convertía todo en un plugin, y todos los plugins se le dio una muy, muy pequeña interfaz para que sus supuestos estarían limitados por la fuerza

Uno de los beneficios de ShipIt sobre Dist :: Zilla es que tiene ShipIt (a lo mejor de mi conocimiento) no hay plugins que alterarán la forma en que realmente escribe el código. Esto significa que su documentación se sigue el mismo aspecto, de todas maneras tendrá un Makefile.PL, y así sucesivamente. Algunos hackers no les gusta eso tantos dists basada en DZ cambian fundamentalmente los supuestos de la forma de código de prueba y la acumulación de CPAN desde su repositorio de código fuente. ShipIt que nunca cambiará.

Es posible evitar el uso de cualquier tipo de plugins con Dist :: Zilla, pero en general mi experiencia es que la gente lo usarlos, casi siempre, de una forma u otra.

Otros consejos

Por lo que yo puedo decir, mis impresiones iniciales eran correctas.
ShipIt proporciona funcionalidad para liberar distribuciones:

  • hacer el seguimiento de los números de versión
  • integración con el control de versiones
  • subir a CPAN
  • mostrando el fichero de cambios en un editor para que pueda editarlo antes de la liberación.


Dist :: Zilla, por defecto, ofrece la posibilidad de cargar distribuciones de CPAN con un solo comando (es decir dzil release). Dist :: Zilla también tiene funcionalidad de crear nuevas distribuciones (es decir, dzil new My::New::Module). También genera automáticamente, por lo que muchos de los archivos que solía tener para mantener a mano.

El uso de plugins, Dist :: Zilla parece ser capaz de proporcionar la mayor parte, si no todos, de la funcionalidad disponible con ShipIt. También es relativamente fácil de añadir nuevas características el uso de plugins.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top