Frage

begann ich mit Dist :: Zilla vor einigen Monaten. Doch bei YAPC :: NA jemand erwähnt, dass sie verwenden ShipIt statt. Dann heute bemerkte ich eine .shipit Datei in miyagawa cpanminus Verzeichnis auf Github , so dass ich in sie einige suchen beschlossen mehr ...

Mein erster Eindruck ist, dass ShipIt hat eine Teilmenge von dem, was mit Dist :: Zilla verfügbar ist, aber ich will nicht voreiligen Schlüsse ziehen. Also, für diejenigen, die Erfahrung mit beiden gehabt haben, was sind die Stärken / Schwächen von ShipIt vs Dist :: Zilla ?

gecrosspostet bei PerlMonks

War es hilfreich?

Lösung

Ich bin der Autor von Dist :: Zilla.

I ausgewertet ShipIt ziemlich ausgiebig, bevor die Entscheidung zu gehen und schreiben Dist :: Zilla und zunächst bedeckt sie fast genau das gleiche Problem Raum: tun alle die langweilige Routinearbeit zu bauen und eine CPAN Verteilung hochladen. spätere Ergänzungen sind mehr oder weniger alle Merkmale, dass Dist :: Zilla jetzt über ShipIt hat.

Wenn Sie nur die Eigenschaften ShipIt, I noch raten stark Dist :: Zilla, für einen ganz einfachen Grund zu berücksichtigen: Wartbarkeit. Wenn ich auf kann nicht Schreib etwas Neues, würde ich verwende ShipIt habe, aber ich fand es zu verlängern underdocumented und schwer werden. Seine Plugins waren nicht allgemein genug, und das Kernverhalten gemacht zu viele Annahmen darüber, wie Sie arbeiten möchten.

Dist :: Zilla wurde speziell von diesem Problem inspiriert. Es stellte sich alles in ein Plugin, und jedes Plugin wurde eine sehr gegeben, sehr kleine Schnittstelle, so dass seine Annahmen gewaltsam begrenzt würden

Ein Vorteil ShipIt über Dist :: Zilla ist, dass ShipIt hat (nach bestem Wissen und Gewissen) keine Plugins, die die Art und Weise verändern, werden Sie tatsächlich Code schreiben. Dies bedeutet, dass Ihre Dokumentation wird immer noch gleich aussehen, werden Sie noch eine Makefile.PL haben, und so weiter. Einige Hacker mag sie nicht, dass so viele DZ-basierte dists grundsätzlich die Annahmen ändern, wie zu Test- und Build-CPAN-Code aus seinem Quellcode-Repository. ShipIt wird nie ändern.

Es ist möglich, solche Plugins mit Dist :: Zilla zu vermeiden, mit, aber im Allgemeinen meiner Erfahrung ist, dass Menschen tun verwendet sie fast immer in einer oder anderen Form.

Andere Tipps

Soweit ich das beurteilen kann, meine ersten Eindrücke waren korrekt.
ShipIt bietet Funktionen für Freigabe Verteilungen:

  • die Verfolgung der Versionsnummern
  • Integration mit Versionskontrolle
  • Hochladen auf CPAN
  • in einem Editor die Changelog-Datei angezeigt wird, so dass Sie es vor der Freigabe bearbeiten.


Dist :: Zilla, standardmäßig bietet die Möglichkeit Verteilungen mit einem einzigen Befehl zu CPAN zu (d.h. dzil release). Dist :: Zilla hat auch Funktionen für Erstellen neue Verteilungen (d dzil new My::New::Module). Es erzeugt auch automatisch so viele der Dateien, die ich verwenden, mit der Hand zu haben, zu halten.

Mit Plugins, Dist :: Zilla scheint in der Lage die meisten zu schaffen, wenn nicht alle, der Funktionalität mit ShipIt. Es ist auch relativ einfach brandneue Features mit Plug-in hinzuzufügen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top