كيف يمكنني إنشاء ملف .tar.gz مناسب للاستخدام مع `cabal expload`؟

StackOverflow https://stackoverflow.com/questions/2587635

سؤال

تتمثل الطريقة القياسية لمشاركة مكتبة Haskell مع المبرمجين الآخرين في إنشاء حزمة cabal وتحميلها http://hackage.haskell.org. لقد كتبت مكتبة أرغب في مشاركتها ، وقد أنشأت بنجاح حزمة cabal باستخدام الإرشادات عبر الإنترنت لإنشاء ملفات cabal. لقد قمت ببناء الحزمة وقمت بتثبيتها محليًا - Works بشكل جيد. الآن أريد تحميله على المتسلل. لكن cabal upload يريد ملف .tar.gz. هناك reams من توثيق الكابال ، ولا يمكنني العثور على ما يفترض أن يذهب إلى هذا .tar.gz أو كيف من المفترض أن أقوم بإنشائها.

من يدري ، أو يعرف أين يمكنني معرفة ذلك ، وكيفية إنشاء .Tar.gz ستعمل بشكل صحيح مع cabal upload?

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

المحلول

من عند ويكي:

نظرًا لأن الرمز مُصنّع ، يمكننا إنشاء Tarball مع التثبيت مباشرة (يمكنك أيضًا استخدام Runhaskell Setup.hs sdist ، لكنك تحتاج إلى القطران على نظامك 1):

$ cabal sdist
Building source dist for haq-0.0...
Source tarball created: dist/haq-0.0.tar.gz

هذا له ميزة مفادها أن Cabal سيفحص المزيد من الفحص ، والتأكد من أن Tarball لديها الهيكل الذي يتوقعه HackagedB. لاحظ أنه يتطلب وجود ملف الترخيص. إنه يحزم الملفات اللازمة لإنشاء المشروع ؛ لتضمين ملفات أخرى (مثل test.hs في المثال أعلاه ، و README) ، نحتاج إلى إضافة:

extra-source-files: Tests.hs README

إلى ملف .cabal لتضمين كل شيء.

نصائح أخرى

أو إذا كنت تستخدم DARCS ،

darcs dist

لاحظ أن cabal sdist سوف تلتقط الملفات المدرجة فقط في .cabal ملف ، لذلك قد تحتاج إلى إضافة readmes الخ. extra-source-files:

يمكنك التحقق من أنك تتسرب مع كرة قضبان ساري المفعول

cabal check

الذي يدير نفس الاختبارات التي سيتم تشغيلها.

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