2009-06-01 14 views
6

यह प्रश्न AS3 से दस्तावेज़ बनाने के लिए ASDoc का उपयोग करने से संबंधित है। मैं फ्लेक्स या कुछ भी नहीं कर रहा हूं, बस कमांड लाइन का उपयोग कर रहा हूं, और हालांकि सब ठीक काम करता है और एएसडीओसी कोई त्रुटि नहीं लौटाता है, परिणामी दस्तावेज में से कुछ लिंक टूटे हुए हैं।ASDoc में टूटे हुए पथ को ठीक करना?

विशेष रूप से, उन सभी स्थानों पर जहां दस्तावेज़ों के अन्य हिस्सों (समान कक्षा में शामिल) में गुणों या विधियों के लिंक हैं, लिंक पैकेज से संबंधित फ़ोल्डर को दोगुना कर देता है।

उदाहरण के लिए, मैं myPackage.MyClass का दस्तावेजीकरण कर रहा हूँ कहते हैं। यदि MyClass एक संपत्ति MyProperty कहा जाता है, और कहीं मेरी डॉक्स में मैं इस तरह की एक पंक्ति में शामिल हैं:

@see #MyProperty 

तो डॉक्स ठीक प्रकार से पार्स कर रहे हैं और "यह भी देखें:" लिंक सही ढंग से बनाई गई है, लेकिन यह ओर इशारा करते हुए ऊपर से हवाएँ

.../output_directory/myPackage/myPackage/MyClass.html#MyProperty 

के लिए जहां निश्चित रूप से, वास्तविक फाइल सिस्टम में सिर्फ एक ही myPackage फ़ोल्डर है।

मेरी ASDoc कमान की प्रासंगिकता का इस तरह दिखता है:

asdoc 
-source-path . 
-doc-sources myPackage 
-output D:\dev\repository\docs\myPackage_docs 
-external-library-path "C:\Progra~1\Adobe\flex_sdk_3\frameworks\libs\player\10\playerglobal.swc" 

मैं शायद कुछ ASDoc तर्क यह है कि लिंक के लिए आधार URL, या उन पंक्तियों के साथ कुछ निर्दिष्ट हैं लापता हूँ? यदि यह एक सादे बग था यह कई लोगों के लिए स्पष्ट होगा, लेकिन मैं इस समस्या के लिए किसी भी गूगल परिणाम नहीं मिल रहा है, तो मेरे कार्य परिकल्पना है कि यह शायद कुछ मैं सेटिंग के कारण, फ्लेक्स से ASDoc चल लोगों के लिए नहीं होता है है छोड़ा गया है

किसी भी मदद के लिए धन्यवाद!


TypeOneError के सुझाव पर, मैंने विभिन्न प्रकार के @see लिंक की कोशिश की। मैंने पाया कि इन ठीक से काम:

  • @see some.package
  • @see ClassName
  • @see ClassName#property

इन जबकि काम नहीं करते:

  • @see #property
  • @see full.package.ClassName
  • @see full.package.ClassName#property

क्या थोड़ा भी बदतर है, हालांकि सभी नौवहन लिंक काम, एक ही दोगुनी पथ स्वतः उत्पन्न प्रकार लिंक में होता है। उदाहरण के लिए, जहां यह प्रत्येक विधि के हस्ताक्षर दिखाता है, जब विधि प्रलेखन में एक वर्ग लौटाती है, तो वह लिंक टूटा हुआ है।

मैं भी एचटीएमएल पर एक नज़र था, और पाया कि समस्या पेज के आधार URL या कुछ भी साथ रहने के लिए प्रकट नहीं होता है, यह सिर्फ असंगत लिंक है। लगातार @see लिंक की एक पंक्ति में तो, उनमें से कुछ package/ClassName.html को ClassName.html और कुछ लिंक से लिंक, ऊपर दिखाए गए नियमों के अनुसार। वैसे भी, इस बात पर ध्यान दिए बिना कि पृष्ठों को फ्रेम में देखा गया है या नहीं।

अधिक जानकारी अगर मुझे कुछ पता चलता है, लेकिन कामकाज के लिए विचारों का स्वागत है।


अद्यतन: कुछ और विवरण: मैं मेरे सटीक SDK संस्करण के बारे में सुनिश्चित नहीं हूँ सिवाय इसके कि यह फ्लेक्स 3 के साथ, लेकिन अगर मैं बहस के बिना ASDoc चलाने के लिए, यह रिपोर्ट: Adobe ASDoc Version 3.3.0 build 4852। मैं क्लासपाथ निर्देशिका में रखे बैच फ़ाइल से, Windows XP पर यह सब चला रहा हूं।


आंशिक समाधान: सभी लेकिन मेरे मुद्दों में से एक फ्लेक्स 4 SDK के 4.0.0.7219 बीटा रिलीज के उन्नयन (और ASDoc उसमें वितरित का उपयोग करके) के द्वारा हल कर रहे थे। अब, मेरे सभी @see टैग अपेक्षित काम करते हैं। एकमात्र शेष समस्या यह है कि, जहां भी मेरे पास एक तरीका है जो मेरे दस्तावेज़ का हिस्सा है जो कक्षा लौटाता है, एएसडीओसी बस लिंक को उलझन में डाल देता है। उदाहरण के लिए, यदि मेरे पास एक विधि है जिसका हस्ताक्षर ClassA#getB():ClassB है, तो दस्तावेज़ों में दिखाया गया है, तो टेक्स्ट "क्लासबी" लिंक "पैकेज नाम/क्लासबी.html" के बजाय "packageName: ClassB.html" से लिंक है। यह एक साधारण बग प्रतीत होता है। Bleh।

उत्तर

1

एएसडीओसी कोई अंत नहीं कर रहा है।

@see myPackage.myClass#MyProperty 

कि अगर एक फर्क नहीं पड़ता देखने के लिए: आप, यानी @see के लिए पूरा पैकेज/वर्ग के नाम जोड़ने को स्पष्ट रूप से की कोशिश की?

संपादित

मैं अपने निष्कर्षों और आंतरिक संपत्ति मार्कर मेरे लिए काम कर रहा है के आधार पर कुछ परीक्षण भाग गया। अर्थात

@see #_dispatcher

लिंक सीधे पृष्ठ पर है कि संपत्ति (कोई डबल उप-फ़ोल्डर) करने के लिए। मुझे लगता है कि शायद आपको पुनर्विचार करना होगा कि आप आदेश कैसे चला रहे हैं। उदाहरण के लिए, मेरी codebase thusly की स्थापना की है:

asdoc -source-path . -doc-classes com/bkwld/fetch/Fetch 

मैं Fetch.as में इन सभी की कोशिश की और वे सब की उम्मीद के रूप में काम:

/src 
    /com 
     /bkwld 
      /fetch 

मैं आम तौर पर "src" अंदर asdoc चलाने

* @see FetchItem 
* @see com.bkwld.utils.Logger 
* @see #_dispatcher 

पहले, FetchItem पृष्ठ पर मुझे ले गया दूसरा एक अलग पैकेज में लॉगर पृष्ठ पर मुझे ले गया, और तीसरे लायें की रक्षा की विधियों के पेज कूद।

बस जिज्ञासा से बाहर ... एसडीके का आप किस संस्करण का उपयोग कर रहे हैं?

+0

हम्म, इससे कोई फर्क पड़ता है ... मैं परिणामों के साथ अपडेट करूंगा। – fenomas

+0

एक परीक्षण जोड़ा गया, FYI – typeoneerror

+0

धन्यवाद परीक्षण साथी के लिए बहुत बहुत धन्यवाद, यह हल करने योग्य लगता है। मैं एएसडीओसी को आपके जैसा ही बुला रहा हूं - मैं अपने क्लासपाथ निर्देशिका में बैच फ़ाइल को अपने शीर्ष पैकेज ("कॉम" के उदाहरण के समान स्तर पर रखता हूं)। मैं अपने प्रश्न में कुछ संस्करण विवरण भी जोड़ूंगा। आप एएसडीओसी चलाने के लिए फ्लेक्सबिल्डर या ग्रहण का उपयोग नहीं कर रहे हैं, है ना? – fenomas

0

मैं इस समस्या लगता है कि आपके द्वारा लाइन

-doc-स्रोतों myPackage

निर्दिष्ट करना है '।' 'myPackage' के बजाय इसे ठीक करना चाहिए (इसलिए इसे अपने स्रोत पथ के समान बनाएं)

+0

डर नहीं, तो इस बस यह दस्तावेज़ करने की कोशिश करता है उस फ़ोल्डर में अन्य सभी स्रोत जो मैं दस्तावेज करने की कोशिश कर रहा हूं उसके अलावा। अगर मैं अन्य सभी स्रोतों को कहीं और ले जाता हूं, तो एएसडीओसी पहले की तरह त्रुटि के बिना पूरा करता है, और बग अपरिवर्तित है। – fenomas

+0

हम्म, मुझे नहीं पता अन्यथा सुझाव देने के लिए। -कोक-स्रोतों में एक पैकेजगेम का उपयोग निश्चित रूप से मेरे लिए गलत लगता है। –

+0

मैंने पूरी तरह से -डोक-स्रोत लाइन को हटाने की कोशिश की, और कक्षाओं के माध्यम से -डोक-क्लास के माध्यम से ... "-doc-classess packageName.ClassName" के रूप में। हालांकि यह बग पर कोई प्रभाव नहीं लग रहा था। क्या यह asdoc को कॉल करने का एक और सामान्य तरीका होगा? – fenomas

0

मैंने एक साधारण पायथन स्क्रिप्ट लिखी है जो उपरोक्त वर्णित मामले में asdoc द्वारा गलत तरीके से उत्पन्न पथ को हल करता है। अर्थात्, यदि कोई विधि है MyMethod (v: MyClass, ...) asdoc गलत रूप से लिंक href = "उत्पन्न करता है।/ mypackage: Myclass " स्क्रिप्ट इसे एक/

द्वारा मुझे यह ध्यान रखना चाहिए कि मेरे द्वारा उत्पन्न किए जा रहे दस्तावेज़ों में एक सुंदर" सपाट "संरचना है, यानी कक्षाओं के समूह के साथ एक ही पैकेज है। मुझे पता नहीं है, तो ठीक और अधिक जटिल प्रलेखन संरचनाओं के साथ काम करता है।

वैसे भी, अगर कोई स्क्रिप्ट की कोशिश करना चाहता है, मैं इसे भेजने के लिए खुशी होगी।

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