Domanda

Ho iniziato usando Dist :: Zilla diversi mesi fa. Tuttavia, a YAPC :: NA qualcuno ha detto che usano ShipIt . Poi oggi ho notato un file .shipit in cpanminus directory di Miyagawa su github , così ho deciso di guardare dentro un po ' altro ...

La mia impressione iniziale è che ShipIt ha un sottoinsieme di ciò che è disponibile con Dist :: Zilla, ma io non voglio saltare alle conclusioni. Quindi, per coloro che hanno avuto esperienza con entrambi, quali sono i punti di forza / debolezze di ShipIt vs Dist :: Zilla ?

Crosspost a PerlMonks

È stato utile?

Soluzione

Sono l'autore di Dist :: Zilla.

I è stato condotto ShipIt abbastanza ampiamente prima di scegliere di andare avanti e scrivere Dist :: Zilla, e inizialmente hanno coperto quasi esattamente lo stesso spazio problema: fare tutto il lavoro noioso grugnito di costruzione e il caricamento di una distribuzione CPAN. Tutte le caratteristiche che Dist :: Zilla ora ha oltre ShipIt sono aggiunte successive, più o meno.

Se avete solo bisogno le caratteristiche di ShipIt, I ancora vi consiglio di considerare fortemente Dist :: Zilla, per una ragione molto semplice: hackability. Se fossi stato in grado di non ShipIt scrivere qualcosa di nuovo, avrei usato, ma ho trovato ad essere underdocumented e difficile da estendere. I suoi plugin non erano sufficientemente generico e il comportamento principale fatte troppe ipotesi su come si desidera lavorare.

Dist :: Zilla è stato ispirato da questo problema specifico:. Si è scoperto tutto in un plugin, e tutti i plugin è stato dato molto, molto piccola interfaccia in modo che le sue ipotesi sarebbero forzatamente limitati

Uno dei vantaggi di ShipIt sopra Dist :: Zilla è che ShipIt ha (al meglio delle mie conoscenze) nessun plugin che alterano il modo in cui in realtà scrivere il codice. Questo significa che la documentazione sarà ancora lo stesso aspetto, si avrà ancora una Makefile.PL, e così via. Alcuni hacker non piace che tanti dists DZ-based cambiare radicalmente l'ipotesi di come il codice di prova e costruire CPAN dalla repository dei sorgenti. ShipIt non potrà mai cambiare la situazione.

E 'possibile evitare l'uso di tali plugin con Dist :: Zilla, ma in generale la mia esperienza è che la gente do usarle, quasi sempre, in un modo o nell'altro.

Altri suggerimenti

Per quanto ne so, le mie impressioni iniziali erano corrette.
ShipIt fornisce funzionalità per rilasciando distribuzioni:

  • tenere traccia dei numeri di versione
  • integrazione con il controllo di versione
  • caricamento su CPAN
  • la visualizzazione del file changelog in un editor in modo che è possibile modificarlo prima del rilascio.


Dist :: Zilla, per impostazione predefinita, fornisce la possibilità di caricare le distribuzioni a CPAN con un unico comando (vale a dire dzil release). Dist :: Zilla ha anche la funzionalità per creazione nuove distribuzioni (cioè dzil new My::New::Module). Inoltre genera automaticamente molti dei file che ho usato per avere per mantenere a mano.

Utilizzare i plugin, Dist :: Zilla sembra in grado di fornire la maggior parte, se non tutte, le funzionalità disponibili con ShipIt. E 'anche relativamente facile aggiungere nuove funzionalità tramite plugin.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top