10

私は数ヶ月前にDist::Zillaを使い始めました。しかし、YAPC::NA では、誰かが代わりにShipItを使用していると述べています。それから今日、github の miyagawa の cpanminus ディレクトリに.shipit ファイルがあることに気がついたので、もう少し調べてみることにしました...

私の第一印象は、ShipIt には Dist::Zilla で利用できるもののサブセットがあるというものですが、結論を急ぐつもりはありません。では、両方の経験がある人にとって、ShipItDist::Zillaの長所/短所は何ですか?

perlmonks で相互投稿

4

2 に答える 2

7

私は Dist::Zilla の作者です。

私は、先に進んで Dist::Zilla を作成することを選択する前に、ShipIt をかなり広範囲に評価しました。最初は、CPAN ディストリビューションを構築してアップロードするという退屈で単調な作業をすべて行うという、ほぼ同じ問題領域をカバーしていました。Dist::Zilla が現在 ShipIt を超えて持っているすべての機能は、多かれ少なかれ後で追加されたものです。

ShipIt の機能だけが必要な場合でも、Hackabilityという非常に単純な理由から、Dist::Zilla を強く検討することをお勧めします。何か新しいものを書くことができなかったら ShipIt を使用していたでしょうが、文書化されておらず、拡張するのが難しいことがわかりました。そのプラグインは十分に汎用的ではなく、コアの動作は、どのように作業したいかについてあまりにも多くの仮定を作りました.

Dist::Zilla は特にこの問題に触発されました: それはすべてをプラグインに変え、すべてのプラグインには非常に小さなインターフェースが与えられたため、その仮定は強制的に制限されました。

Dist::Zilla に対する ShipIt の利点の 1 つは、ShipIt には (私の知る限りでは) 実際のコードの記述方法を変更するプラグインがないことです。これは、ドキュメントが同じように見えること、まだあること、Makefile.PLなどを意味します。一部のハッカーは、非常に多くの DZ ベースのディストリビューションがソース リポジトリから CPAN コードをテストおよびビルドする方法の前提を根本的に変更することを好まない。ShipItはそれを決して変えません。

Dist::Zilla でそのようなプラグインを使用することを避けることは可能ですが、一般的に私の経験では、人々ほとんどの場合何らかの形でプラグインを使用しています。

于 2011-05-05T13:58:11.117 に答える
4

私の知る限り、私の第一印象は正しかった。

ShipIt は、ディストリビューションをリリースするための機能を提供します。

  • バージョン番号を追跡する
  • バージョン管理との統合
  • CPANへのアップロード
  • リリース前に編集できるように、エディターで変更ログ ファイルを表示します。


Dist::Zilla は、デフォルトで、ディストリビューションを単一のコマンド (つまりdzil release) で CPAN にアップロードする機能を提供します。Dist::Zilla には、新しいディストリビューション (すなわち) を作成するdzil new My::New::Moduleための機能もあります。また、以前は手動で維持しなければならなかった非常に多くのファイルが自動的に生成されます。

プラグインを使用すると、Dist::Zilla は、ShipIt で利用可能な機能のすべてではないにしても、ほとんどを提供できるようです。また、プラグインを使用して新しい機能を追加することも比較的簡単です。

于 2010-08-10T21:18:47.567 に答える