The Scala Toolkit

What else can OS-Lib do?

Language

You can require the entire toolkit in a single line:

//> using toolkit latest

Alternatively, you can require just a specific version of OS-Lib:

//> using dep com.lihaoyi::os-lib:0.9.1

In your build.sbt, you can add a dependency on the toolkit:

lazy val example = project.in(file("example"))
  .settings(
    scalaVersion := "3.2.2",
    libraryDependencies += "org.scala-lang" %% "toolkit" % "0.1.7"
  )

Alternatively, you can require just a specific version of OS-Lib:

libraryDependencies += "com.lihaoyi" %% "os-lib" % "0.9.1"

In your build.sc file, you can add a dependency on the Toolkit:

object example extends ScalaModule {
  def scalaVersion = "3.2.2"
  def ivyDeps =
    Agg(
      ivy"org.scala-lang::toolkit:0.1.7"
    )
}

Alternatively, you can require just a specific version of OS-Lib:

ivy"com.lihaoyi::os-lib:0.9.1"

OS-Lib on GitHub has many additional examples of how to perform common tasks:

  • creating, moving, copying, removing files and folders,
  • reading filesystem metadata and permissions,
  • spawning subprocesses,
  • watching changes in folders,
  • interoperating with java.io.File and java.nio.Path.

See also Chapter 7 of Li Haoyi’s book Hands-On Scala Programming. (Li Haoyi is the author of OS-Lib.)

Contributors to this page: