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

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

写文档,然后构建,生产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,请修改为你对应的版本

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年6月1日
下一篇 2022年6月1日

相关推荐