كيف يمكنني إنشاء ملف .tar.gz مناسب للاستخدام مع `cabal expload`؟
-
24-09-2019 - |
سؤال
تتمثل الطريقة القياسية لمشاركة مكتبة 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
الذي يدير نفس الاختبارات التي سيتم تشغيلها.