2013-07-17 10 views
12

हम अपने पर्ल विकास के लिए Minilla या जिला :: मिला उपयोग करने के लिए विचार करें। निर्भरता घोषणा cpanfile के माध्यम से की जाती है। मुझे उम्मीद है कि क्या और कैसे घोषित किया जा सकता है, इसकी एक निश्चित परिभाषा है। लेकिनमैं कहाँ cpanfile प्रारूप परिभाषा मिल सकती है?

  • perldoc cpanfile: केवल प्रिंसिपल उपयोग दिखाता है। 'यह भी देखें' अनुभाग मदद नहीं करता है।

  • perldoc मॉड्यूल :: CPANfile: cpanfile के रूप में ही।

  • perldoc cpanfile-faq: सटीक सिंटैक्स या इसे करने के लिए एक कड़ी के कोई स्पष्टीकरण नहीं, केवल

परिचित डीएसएल वाक्य रचना

यह एक नई फ़ाइल प्रकार है, लेकिन प्रारूप और वाक्यविन्यास पूरी तरह से नया नहीं है। मेटाडाटा यह घोषणा कर सकते हैं वास्तव में CPAN मेटा युक्ति में "Prereqs" का एक सबसेट है।

वाक्य रचना मॉड्यूल से बहुत कुछ उधार लेता है :: स्थापित करें। मॉड्यूल :: स्थापित एक शानदार तरीका आसानी से जैसे नाम, लेखक और निर्भरता के रूप में मॉड्यूल मेटाडाटा घोषित करने के लिए है। cpanfile प्रारूप निर्भरता को एक अलग फ़ाइल में निकालने के लिए है, जिसका अर्थ है कि अधिकांश डेवलपर्स वाक्यविन्यास से परिचित हैं।

किसी को भी पता है जहां एक सटीक पता लगाने के लिएका विवरणवाक्यविन्यास/प्रारूप?

+2

कहीं भी नहीं। मियागावा में चिल्लाओ। :) – hobbs

+1

@ हॉब्स: मैं चिल्लाना नहीं चाहता। दुनिया सही नहीं है और पर्ल और इसकी दुनिया भी है। मैं सिर्फ दस्तावेज नहीं ढूंढने के लिए हैरान था। – katastrophos

उत्तर

6

मैंने Module::CPANFile और perldoc cpanfile और perldoc cpanfile-faq स्थापित किए थे।

पॉड cpanfile के लिए कहता है:

[the] cpanfile specification (this document) is based on Ruby's 
Gemfile http://gembundler.com/man/gemfile.5.html specification. 

cpanfile मैनुअल पृष्ठ में लिंक टूटी हुई है। यह इंगित करना चाहिए रहे हैं: http://bundler.io/v1.3/man/gemfile.5.html

cpanfileModule::Install डीएसएल वाक्य रचना के साथ बनाया गया है करने के लिए "पीछे की ओर संगत" और "CPAN :: मेटा :: Prereqs के लिए परिवर्तनीय" है और द्वारा CPAN::Meta Spec v.2 आदि

प्रेरित मैं यह समझ के रूप में cpanfile कुछ हद तक "मेटा-प्रारूप" है और टिमटॉडी दृष्टिकोणों की एक श्रृंखला में फिट बैठता है (miyagawa's blog describing cpanfile देखें), Module::Install और अधिकतर स्वयं-दस्तावेज़ के साथ संगत।उदाहरण के लिए यदि आप फ़ाइलों वाली निर्देशिका के अंदर mymeta-cpanfile चलाते हैं तो यह आपके लिए cpanfile बनाएगा; आप लिखने के लिए CPAN::Meta::Prereqs और फिर $file->save('cpanfile'); से पूर्व शर्त का वर्णन करते हुए एक स्क्रिप्ट लिख सकते हैं।

Dist::Milla का सवाल है, ट्यूटोरियल में (देखें PODDist::Milla के साथ शामिल) Miyagawa बताते हैं कि "आप मैन्युअल रूप से निर्माण करने के लिए निर्णय लेते हैं [एक] नई cpanfile, प्रारूप ज्यादातर के लिए Module::Install की आवश्यकता डीएसएल संगत है"। ट्यूटोरियल भी एक छोटा सा उदाहरण देता है।

मुझे लगता है कि यह miyagawa पूछने के लिए स्थिति स्पष्ट और वितरण के लिए दस्तावेज में cpanfile विनिर्देश/प्रारूप के मामलों का उपयोग करने के उचित होगा। वह और कुछ और उदाहरण आपके जैसे प्रश्नों का उत्तर देंगे। उन्होंने ज्यादातर इस पर काम किया है - यह सिर्फ एक ही स्थान पर नहीं है।

+2

इसका मतलब क्या है 'आधारित'? वही वाक्यविन्यास, वही अर्थशास्त्र, विस्तारित perl विशेषताएं ...? मैं PERL के लिए सटीक प्रारूप/परिभाषा को पढ़ना चाहता हूं या मुझे रूबी मणि स्पेक को पढ़ना है ;-)! Btw। लिंक टूटा हुआ है। – katastrophos

+1

@katastrophos: लेकिन आपने टूटी हुई लिंक के लिए कोई मुद्दा नहीं लिखा - ठीक है, मैंने किया। –

+0

@ स्लेवेनरेज़िक: आप सही हैं। उस लिंक का उपयोग करके आपको http://bundler.io/man/gemfile.5.html पर रीडायरेक्ट किया जाता है जो एक 'पृष्ठ नहीं मिला' साइट है। आपको मुख्य पृष्ठ पर जाना होगा और वहां से खोज शुरू करनी होगी (जो मैंने नहीं किया)। – katastrophos

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

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