سؤال

لقد بدأت في استخدام Dist :: Zilla قبل عدة أشهر. ومع ذلك ، في YAPC :: na ذكر شخص ما يستخدمونه شحنه في حين أن. ثم لاحظت اليوم ملف .shipit في مياغاوا دليل cpanminus على جيثب, ، لذلك قررت أن أنظر فيها أكثر ...

انطباعي الأولي هو أن Shipit لديها مجموعة فرعية من ما هو متاح مع Dist :: Zilla ، لكنني لا أريد القفز إلى الاستنتاجات. لذلك ، بالنسبة لأولئك الذين لديهم خبرة مع كليهما ، ما هي نقاط القوة/نقاط الضعف شحنه ضد Dist :: Zilla?

متشابكة في perlmonks

هل كانت مفيدة؟

المحلول

أنا مؤلف Dist :: Zilla.

قمت بتقييم Shipit على نطاق واسع قبل اختيار المضي قدمًا وكتابة Dist :: Zilla ، وفي البداية قاموا بتغطية نفس مساحة المشكلة تقريبًا: القيام بجميع أعمال Ground المتمثلة في بناء وتحميل توزيع CPAN. جميع الميزات التي لديها Dist :: Zilla الآن خارج Shipit هي الإضافات اللاحقة ، أكثر أو أقل.

إذا كنت بحاجة فقط إلى ميزات Shipit ، فأنا ما يزال أنصحك أن تفكر بقوة في Dist :: Zilla ، لسبب بسيط للغاية: الاختراق. لو كنت قادرا على ذلك ليس اكتب شيئًا جديدًا ، كنت سأستخدم Shipit ، لكنني وجدت أنه غير موثق ويصعب تمديده. لم تكن الإضافات عامة بما فيه الكفاية وجعل السلوك الأساسي الكثير من الافتراضات حول كيفية عملك.

تم إلهام Dist :: Zilla على وجه التحديد من هذه المشكلة: لقد حولت كل شيء إلى مكون إضافي ، وتم إعطاء كل مكونات إضافية واجهة صغيرة جدًا بحيث تكون افتراضاته محدودة بالقوة.

إحدى فوائد Shipit Over Dist :: Zilla هي أن Shipit لديها (على حد علمي) لا توجد مكونات إضافية من شأنها أن تغير الطريقة التي تكتب بها رمزك بالفعل. هذا يعني أن وثائقك ستظل كما هي Makefile.PL, ، وهلم جرا. لا يحب بعض المتسللين أن الكثير من dists المستندة إلى DZ يغيرون بشكل أساسي افتراضات كيفية اختبار وبناء رمز CPAN من مستودع المصدر الخاص به. لن تغير هذا السفينة أبدًا.

من الممكن تجنب استخدام أي مكونات إضافية مع Dist :: Zilla ، ولكن بشكل عام تجربتي هي أن الناس فعل استخدمها ، دائمًا تقريبًا ، بشكل أو بآخر.

نصائح أخرى

بقدر ما أستطيع أن أقول ، كانت انطباعاتي الأولية صحيحة.

يوفر Shipit وظيفة إطلاق التوزيعات:

  • تتبع أرقام الإصدار
  • التكامل مع التحكم في الإصدار
  • التحميل إلى CPAN
  • عرض ملف changelog في محرر بحيث يمكنك تحريره قبل الإصدار.


Dist :: Zilla ، افتراضيًا ، يوفر القدرة على تحميل التوزيعات إلى CPAN بأمر واحد (أي dzil release). Dist :: Zilla لديه أيضا وظيفة ل خلق توزيعات جديدة (أي dzil new My::New::Module). كما أنه يقوم تلقائيًا بإنشاء الكثير من الملفات التي اعتدت أن أحافظ عليها باليد.

باستخدام الإضافات ، يبدو أن dist :: Zilla قادر على توفير معظم الوظائف المتوفرة ، إن لم يكن كلها ، مع Shipit. كما أنه من السهل نسبيًا إضافة ميزات جديدة باستخدام الإضافات.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top