sbt 自定义构建任务,编译文档完打开浏览器

作为一名scala 3开发者,你需要构建文档,并 在浏览器打开文档预览。这会是日常基本操作。

写文档,然后构建,生产html网页,在网页查看效果。

如果是用手动,那要好几步,操作繁琐。我们怎么简化流程呢?

以mac 为例,我们可以给我们的sbt构建脚本加戏。让它把构建文档和打开浏览器一起做了。

先看我们build.sbt的内容

import scala.sys.process.Process

val 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")

}

 kjk。 我们先要引入

import scala.sys.process.Process
这是执行shell命令需要用的。
然后我们定义一个自定义执行任务 
lazy val  bdoc

注意这里的名字,不要跟其他有冲突,如果冲突了,就不行,

然后taskKey[Unit]表示这个任务不需要输入参数,"build and open document"  是注释,你随便写。

接下来就是正是实现的函数了。

println很好理解,打印字符串。

Process是执行命令,List是命令和参数的数列。记住执行是要加.!这两个符号

 

然后你在命令行执行 

sbt bdoc就可以帮你执行构建文档,并且给你打开文档页面链接。

如果你的scala版本不是3.1.3,请修改为你对应的版本

分类: 默认 标签: 发布于: 2022-07-01 09:53:16, 更新于: 2022-07-01 09:56:48