您現在的位置是:首頁 > 娛樂

sbt 自定義構建任務,編譯文件完開啟瀏覽器

由 鋒哥愛學習 發表于 娛樂2022-07-31
簡介enablePlugins(NativeImagePlugin)lazy val bdoc = taskKey[Unit](“build and open document”)bdoc := {println(“now we begin

數列符號怎麼打

作為一名scala 3開發者,你需要構建文件,並 在瀏覽器開啟文件預覽。這會是日常基本操作。

sbt 自定義構建任務,編譯文件完開啟瀏覽器

寫文件,然後構建,生產html網頁,在網頁檢視效果。

如果是用手動,那要好幾步,操作繁瑣。我們怎麼簡化流程呢?

以mac 為例,我們可以給我們的sbt構建指令碼加戲。讓它把構建文件和開啟瀏覽器一起做了。

先看我們build。sbt的內容

import scala。sys。process。Processval scala3Version = “3。1。3”lazy val root = project 。in(file(“。”)) 。settings( name := “bsmi_sc3”, version := “0。1。0-SNAPSHOT”, scalaVersion := scala3Version, nativeImageVersion := “22。1。0”, libraryDependencies += “org。scalameta” %% “munit” % “0。7。29” % Test, libraryDependencies += “com。softwaremill。sttp。client3” %% “core” % “3。6。2” ) 。enablePlugins(NativeImagePlugin)lazy val bdoc = taskKey[Unit](“build and open document”)bdoc := { println(“now we begin to build and open doc”) Process(List(“pwd”))。! Process(List(“sbt”, “doc”))。! Process(List(“open”, “。/target/scala-3。1。3/api/index。html”))。! println(“end”)}

我們先要引入Process類庫

import scala。sys。process。Process

這是執行shell命令需要用的。

然後我們定義一個自定義執行任務

lazy val bdoc

注意這裡的名字,不要跟其他有衝突,如果衝突了,就不行,

然後taskKey[Unit]表示這個任務不需要輸入引數,“build and open document” 是註釋,你隨便寫。

接下來就是正是實現的函數了。

println很好理解,列印字串。

Process是執行命令,List是命令和引數的數列。記住執行是要加。!這兩個符號

然後你在命令列執行

sbt bdoc就可以幫你執行構建文件,並且給你開啟文件頁面連結。

如果你的scala版本不是3。1。3,請修改為你對應的版本

推薦文章