2014-05-20 5 views
7

यदि मैं सही ढंग से समझता हूं, तो विधि के स्कालाडोक को स्वचालित रूप से उस मूल विधि के स्कालाडोक का उत्तराधिकारी होना चाहिए जो इसे ओवरराइड करता है। ऐसा लगता है कि कक्षाओं के स्थानीय समूह के लिए सच है, लेकिन जब स्कैला की मानक लाइब्रेरी (और संभावित रूप से कोई बाहरी निर्भरता?) से विस्तार नहीं किया जाता है।मैं स्कैलाडोक को स्काला की मानक लाइब्रेरी से कैसे प्राप्त करूं?

class LocalParent { 
    /** 
    * some documentation 
    */ 
    def foo = ??? 
} 

class DocumentedChild extends LocalParent 

class UndocumentedChild extends Iterator[Int] { 
    def hasNext = ??? 
    def next = ??? 
} 

क्या स्कालाडोक का उत्तराधिकारी करने का कोई तरीका है? या मुझ से कुछ गलत हो रहा है?

इसके अलावा, मैं sbt doc का उपयोग कर रहा हूं, इसलिए scaladoc सीधे नहीं।

+1

दस्तावेज़ीकरण पर एक नज़र डालें जिसमें वे निर्दिष्ट करते हैं कि बाहरी निर्भरताओं से दस्तावेज़ आयात करने के तरीके को कैसे प्रबंधित किया जाए: http://www.scala-sbt.org/0.13.2/docs/Howto/scaladoc.html (वे कहते हैं 'ऑटोएपमैपिंग्स : = सत्य' और 'apiURL: = कुछ (url (" http://example.org/api/ "))'।) – wheaties

+0

रैंडल के उत्तर के समान। ऐसा लगता है कि मूल दस्तावेज के लिए केवल हाइपरलिंक है, लेकिन यह विधि स्तर पर स्केलडॉक खींच नहीं पाता है। –

उत्तर

6

यहाँ है कि मैं क्या (एसबीटी 0.13) का उपयोग है:

scalacOptions in (Compile, doc) ++= 
    Seq("-diagrams", 
     "-diagrams-max-classes", 
     "20", 
     "-external-urls:java=http://docs.oracle.com/javase/6/docs/api/," + 
     "scala=http://www.scala-lang.org/api/current/") 

परिशिष्ट 1:

मानक पुस्तकालय वर्गों उपवर्गीकरण जबकि तरीकों अधिभावी और ओवरराइड विधि के दस्तावेज़ टिप्पणी चाहने के मुद्दे का समाधान करने के लिए, सदस्यों उत्तराधिकारी दस्तावेज टैग के साथ टिप्पणी की जा सकती है:

/** @inheritdoc */ 
override def foo(bar: String): Int = bar.length 

अनुपूरक 2:

इस कार्यक्षमता का अधिक आधुनिक रूप this SBT 0.13 documentation page पर दस्तावेज किया गया है।

+0

यह क्या होना चाहिए? हम यहां जावा 7-विशिष्ट कुछ भी नहीं कर रहे हैं और हमारे पास उपयोग में जेवीएम का मिश्रण है ... –

+0

मैं सबसे पुराने जावा के लिए जावाडोक का उपयोग करने का प्रयास करता हूं जिसे मैं समर्थन देना चाहता हूं इसलिए मैं गलती से नई सुविधाओं का उपयोग नहीं करता हूं। –

+0

यह केवल हाइपरलिंक कक्षाओं को लगता है। यह विधि स्तर पर दस्तावेज़ीकरण को संबोधित नहीं करता है। या कम से कम मैं इसे अपनी मशीन पर काम नहीं कर सकता। –

2

आजकल यह बहुत आसान है। बस

autoAPIMappings := true 

अपनी एसबीटी सेटिंग्स में जोड़ें। (build.sbt या project/Build.scala)

एसबीटी संस्करण 0.13.5 और स्काला 2.11.7 के साथ परीक्षण किया गया है, लेकिन यह 2.10.2 करने के लिए वापस सभी तरह काम करना चाहिए, प्रति SBT documentation

कि किसी भी प्रबंधित निर्भरता के लिए काम करना चाहिए कि निर्दिष्ट करें कि उनके दस्तावेज़ कहाँ रहते हैं। अगर यह कुछ निर्भरताओं के लिए काम नहीं कर रहा है, तो other options देखें।

+0

दिलचस्प। आज बाद में यह परीक्षण करने के लिए तत्पर हैं। धन्यवाद! –

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