2012-05-02 45 views
8

我需要從我的scaladoc鏈接到github上的源代碼。我使用sbt的doc任務構建這些文檔。鏈接到scaladoc的源代碼?

有兩個問題 - 首先,我不喜歡爲我的.scala文件創建幾個嵌套的空目錄,所以我通常將它們全部打包在一個文件中 - 比如src/main/scala/org.rogach.scallop而不是src/main/scala/org/rogach/scallop。有沒有辦法鏈接到文檔工作而不拆分該目錄?

其次,當我把這個線在我build.sbt:

scalacOptions in (Compile, doc) ++= 
    Opts.doc.sourceUrl("https://raw.github.com/Rogach/scallop/master/src/main/scala/") 

文檔包含指向來源,但這些鏈接指向剛纔源根URL,而不是文件本身。我究竟做錯了什麼?

回答

7

scaladoc help輸出:(是的,這是歐元符號)

-doc-source-url <url>  A URL pattern used to build links to template 
          sources; use variables, for example: 
           €{TPL_NAME} ('Seq'), 
           €{TPL_OWNER} ('scala.collection'), 
           €{FILE_PATH} ('scala/collection/Seq') 

類似下面應該作爲參數傳遞給sourceUrl工作,如果所有的源代碼中被定義包:

https://raw.github.com/Rogach/scallop/master/src/main/scala/€{TPL_OWNER}.€{TPL_NAME}.scala 
+0

它幾乎奏效 - 對於所有類,它們的名稱都等於它們被定義的文件的名稱。但是因爲我把幾個類放到同一個文件中,所以這個失敗了:( – Rogach

+0

我決定使用FILE_PATH並用'sed'表達式替換我的機器上的項目目錄的前綴。謝謝你的幫助! – Rogach

+2

是的,因爲很難正確工作,請參閱https://issues.scala-lang.org/browse/SI-5763。 –