Scala 3 遷移指南

Scala2 與 Scala3 之間的 Scaladoc 設定相容性

語言

目前頁面說明 scaladoc 設定的狀態。相關的 Github 問題可在此處找到,供 討論

Scala2 Scala3 說明 註解 已實作?
-doc-format _ 選擇文件呈現的格式。 實際上,舊的 scaladoc 僅支援 html,因此它在某種程度上與僅提供 html 的新 scaladoc 相符
-doc-title -project Scaladoc 網站的整體名稱 別名為 #11965
-doc-version -project-version   別名為 #11965
-doc-footer -project-footer 每個 Scaladoc 頁面上的頁尾,預設為 EPFL/Lightbend 版權公告。可以使用自訂頁尾覆寫。 已由 #11965 修復
-doc-no-compile _ 包含應解析文件字串的來源目錄,而無需編譯(例如 AnyRef.scala) 我們不需要這個,因為我們使用 -Ydocument-synthetic-types 標記對合成類型採用完全不同的方法
-doc-source-url -source-links 用於連結到原始檔的 URL 模式,支援一些變數… Scala3 實作提供更豐富的語法。您可以在此 表格 下方找到遷移步驟。
-doc-external-doc -external-mappings 描述外部依賴文件說明位置的連結。 Scala3 實作提供更豐富的語法。您可以在此 表格 中找到變更步驟。
-jdk-api-doc-base -external-mappings 用於連結 Java API 參考的 URL。 您可以透過 -external-mappings 指定 jdk,因為它們是概括設定。您可以在此 表格 中找到變更步驟。
-doc-generator _ 將用於產生文件的文件化類別的完全限定名稱。 我們在 Scala3 中不需要這個
-doc-root-content -doc-root-content 應該從其匯入根套件文件的檔案。  
-implicits _   我們在 Scala3 中不需要這個 - 情境擴充方法在 Scala 3 中總是經過文件化
-implicits-debug _   我們在 Scala3 中不需要這個
-implicits-show-all _   我們在 Scala3 中不需要這個
-implicits-sound-shadowing _   我們在 Scala3 中不需要這個
-implicits-hide _   我們在 Scala3 中不需要這個
-diagrams _   我們在 Scala3 中不需要這個
-diagrams-debug _   我們在 Scala3 中不需要這個
-diagrams-dot-path _   我們在 Scala3 中不需要這個
-diagrams-max-classes _   我們在 Scala3 中不需要這個
-diagrams-max-implicits _   我們在 Scala3 中不需要這個
-diagrams-dot-timeout _   我們在 Scala3 中不需要這個
-diagrams-dot-restart _   我們在 Scala3 中不需要這個
-author -author   已由 #11965 修復
-raw-output _   我們在 Scala3 中不需要這個
-no-prefixes _   我們在 Scala3 中不需要這個
-skip-packages -skip-packages    
-no-link-warnings _   尚未實作
-expand-all-types _   設定已移除
-groups -groups    
-no-java-comments _   我們在 Scala3 中不需要這個
-doc-canonical-base-url -doc-canonical-base-url 用作前綴的基本 URL,並將 canonical URL 加入所有頁面。搜尋引擎可能會使用 canonical URL 來選擇您希望人們在搜尋結果中看到的 URL。如果未設定,則不會產生任何 canonical URL。 已由 #11965 修復
-private -private 顯示所有類型和成員。除非指定,否則只顯示公開和受保護的類型和成員。 已由 #11965 修復
_ -siteroot   我們不會將其反向移植到舊的 scaladoc 不適用
_ -project-logo   我們是否應該將其反向移植到舊的 scaladoc? 不適用
_ -comment-syntax   我們不會將其反向移植到舊的 scaladoc 不適用
_ -revision   我們是否應該將其反向移植到舊的 scaladoc? 不適用
_ -social-links   我們是否應該將其反向移植到舊的 scaladoc? 不適用
_ -skip-by-id   我們不會將其反向移植到舊的 scaladoc 不適用
_ -skip-by-regex   我們不會將其反向移植到舊的 scaladoc 不適用
_ -snippet-compiler-args   我們不會將其反向移植到舊的 scaladoc 不適用
_ -Ydocument-synthetic-types 文件內建類型,例如 Any、Nothing。設定僅對 stdlib 有用  

來源連結用於指向 github 或 bitbucket 等遠端儲存庫中的來源程式碼。希望新的語法幾乎是舊語法的超集。若要變更到新的 scaladoc 語法,請確定您沒有使用下列任何變數:€{TPL_OWNER}€{FILE_PATH_EXT}。否則,您必須使用其他 variables 重新撰寫您的來源連結,或者您可以使用新語法,您可以在 Scaladoc 文件 中閱讀更多相關資訊。請注意,新的語法讓您可以指定檔案路徑的前綴,以符合特定 URL,萬一您的來源散佈在不同的目錄甚至不同的儲存庫中。

外部映射

此設定是 javadoc/scaladoc 舊設定的概化形式。

外部映射範例為

-external-mappings:.*scala.*::scaladoc3::https://scala-lang.org/api/3.x/,.*java.*::javadoc::https://docs.oracle.com/javase/8/docs/api/

映射的形式為「<regex>::[scaladoc3|scaladoc|javadoc]::<path>」。您可以提供多個映射,並以逗號分隔,如範例所示。

舊語法為

  • scaladoc - prefix#url
  • javadoc - 僅 URL

必須採用會符合完全限定名稱的正規表示法(對於 javadoc,可以使用萬用字元,如 java.*),然後使用兩個冒號 :: 將其與 3 種可用文件格式之一串接,再附加 ::,最後提供外部文件所寄存的 URL。

此頁面的貢獻者