2008-09-26 31 views
14

मैं एक ऐसी स्क्रिप्ट चलाने के लिए चाहता हूं जो मेरे php प्रोजेक्ट के लिए प्रलेखन बनाता है। यह मूल रूप से phpdoc चलाने के लिए wget का उपयोग कर रहा है।जब मैं उपversण करने के लिए प्रतिबद्ध हूं तो क्या मैं एक स्क्रिप्ट चला सकता हूं?

उत्तर

9

एक काफी व्यापक ट्यूटोरियल है (मेरे अपने प्रश्न का उत्तर देना, मैं सिर्फ दूसरों के रूप में अच्छी तरह से जानना चाहूंगा सोचा)। हां, और TortoiseSVN भी इसका समर्थन करता है। जो शब्द आप खोज रहे हैं वह 'हुक' है।

टोर्टोइज एसवीएन, खुली सेटिंग्स और 'हुक स्क्रिप्ट' के लिए। 'जोड़ें ...' और chooe post_commit_hook पर क्लिक करें (प्रतिबद्ध होने के बाद चलने के लिए)। फिर जो भी स्क्रिप्ट आप चल रहे हैं और स्क्रिप्ट का कार्य पथ जोड़ें।

मैंने बैच फ़ाइल का उपयोग किया और wget कहा (एक विंडोज संस्करण पोर्ट किया गया है, इसे Google)। एक विशिष्ट रास्ते में phpdoc से लॉग स्टोर करने के लिए wget पाने के लिए आपको पूरा पथ निर्दिष्ट करना होगा, और लॉग, जहाँ आप प्रतिबद्ध से वर्तमान फ़ोल्डर में संग्रहीत किया जाएगा तो मेरे बैच फ़ाइल इस तरह दिखता है:

SET BUILDLOG=%~dp0%build_log.html 
rem %~dp0 returns the full working path *of this script* 
SET PHPDOCURL=http://localhost/PHPDocumentor/docbuilder 
SET PHPDOCCONFIG=yourconfigfile 

wget -O %BUILDLOG% "%PHPDOCURL%/builder.php?setting_useconfig=%PHPDOCCONFIG%&setting_output=HTML%3ASmarty%3Adefault&ConverterSetting=HTML%3ASmarty%3Adefault&setting_title=Generated+Documentation&setting_defaultpackagename=default&setting_defaultcategoryname=default&interface=web&dataform=true" 

अब, जब भी आप प्रतिबद्ध करते हैं, बैच स्क्रिप्ट को बुलाया जाएगा। आप निश्चित रूप से कमांड लाइन उपकरण के रूप में php का भी उपयोग कर सकते हैं, लेकिन मैंने इसे phpdoc के साथ नहीं देखा है - मैंने अभी इस पर कम से कम प्रतिरोध का मार्ग लिया है।

2

आप एक पूर्ण निर्माण स्क्रिप्टिंग टूल के लिए Phing देख सकते हैं। आप एक ही स्थान पर काम, दस्तावेज और अन्य निर्माण संबंधित गतिविधियों का प्रबंधन कर सकते हैं।

3

एसवीएन हुक का उपयोग करने का एक विकल्प निरंतर एकीकरण इंजन का उपयोग करना होगा। व्यक्तिगत रूप से, मैं Hudson का प्रशंसक हूं। CruiseControl क्लासिक है लेकिन others का एक बड़ा हिस्सा है।

निरंतर एकीकरण इंजन का उपयोग क्यों करें? आम तौर पर, वे अधिक शक्तिशाली होते हैं, एसवीएन हुक का उपयोग करने से अधिक समृद्ध और पोर्टेबल होते हैं (क्या होगा यदि आप Mercurial, Git, आदि का उपयोग करने के लिए स्विच करना चाहते हैं?)।

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

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