2012-05-17 21 views
9

एक हास्केल परियोजना को देखते हुए के लिए, वहाँ एक तरह से स्वचालित रूप से निर्भरता की पूरी सूची की गणना करने के लिए है? सभी पुस्तकालयों के साथ-साथ पुस्तकालयों पर निर्भर करता है जिन्हें शामिल किया गया है लेकिन इसकी आवश्यकता नहीं है।स्वचालित रूप से सूची निर्भरता एक परियोजना

+0

कैबल जब आप 'कैबल इनिट' चलाते हैं तो निर्भरताओं को समझने का प्रयास करता है। क्या आप जिस प्रकार की कार्यक्षमता के बारे में सोच रहे थे? –

+0

किस स्तर पर? मैंने कैबल इनिट का इस्तेमाल किया और यह किसी भी निर्भरता को समझ नहीं पाया। –

+1

क्या मंच? मंच जहाँ आप कुछ कोड लिखा और अपनी परियोजना cabalize के लिए तैयार हैं (एक .cabal फ़ाइल बनाने)। कैबल का एक पर्याप्त नया संस्करण मॉड्यूल पढ़ेगा और निर्भरताओं का अनुमान लगाने का प्रयास करेगा। –

उत्तर

8

जैसा कि मैंने टिप्पणी में कहा, पहले से ही कबाल से स्थापित मॉड्यूल देखने (GHCi की तरह) के माध्यम से संकुल का अनुमान लगाकर (मैं कबाल से स्थापित 0.14.0 उपयोग कर रहा हूँ) करता है। इसमें कोई वास्तविक बुद्धि नहीं है w.r.t. संस्करणों के कारण यह आपके द्वारा इंस्टॉल किए गए मिलान के मुख्य संस्करण के संस्करण को केवल सेट करता है।

नीचे आप मुझे एक डमी पैकेज बनाने के लिए देख सकते हैं जो Data.Vector आयात करता है और कैबल इंस्टॉल इंस्टॉल करता है मैं वेक्टर 0.9 का उपयोग कर रहा हूं। *।

[[email protected] blah]$ pwd 
/tmp/blah 
[[email protected] blah]$ cat Data/Blah.hs 
module Data.Blah where 

import Data.Vector 
[[email protected] blah]$ cabal init 
Package name? [default: blah] 
...SNIP... 
What does the package build: 
    1) Library 
    2) Executable 
Your choice? 1 
Include documentation on what each field means (y/n)? [default: n] 

Guessing dependencies...   <--- SEE, SEE! YAY! 

Generating LICENSE... 
Warning: unknown license type, you must put a copy in LICENSE yourself. 
Generating Setup.hs... 
Generating blah.cabal... 

You may want to edit the .cabal file and add a Description field. 
[[email protected] blah]$ cat blah.cabal 
-- Initial blah.cabal generated by cabal init. For further documentation, 
-- see http://haskell.org/cabal/users-guide/ 

name:    blah 
version:    0.1.0.0 
synopsis:   Sisponys 
-- description:   
-- license:    
license-file:  LICENSE 
author:    Me 
maintainer:   [email protected] 
-- copyright:   
-- category:    
build-type:   Simple 
cabal-version:  >=1.8 

library 
    exposed-modules:  Data.Blah 
    -- other-modules:  
    build-depends:  base ==4.5.*, vector ==0.9.* <-- SEE?? SEE! YIPPEE!! 
+0

मैं उपयोग कर रहा हूँ 'कबाल से स्थापित संस्करण 0.10.2'। यही कारण है कि संस्करण है कि हास्केल मंच के साथ में बंडल हो जाता है, तो मुझे लगता है कि इस हाल कार्यक्षमता है। –

+0

@VladtheImpala मुझे लगता है कि चाहते हैं कि आप नवीनतम 0.14.0 रिहाई की जरूरत है। इसमें विभिन्न 'कैबल इनिट' सुधार शामिल हैं। –

संबंधित मुद्दे